@oh-story/dsh 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/lib/client.js +27 -11
- package/lib/client.js.map +2 -2
- package/lib/drama/manifest.json +141 -136
- package/lib/drama/skills/short-drama/SKILL.md +55 -122
- package/lib/drama/skills/short-drama/references/audience-reveal.md +14 -67
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +24 -78
- package/lib/drama/skills/short-drama/references/creator-documents.md +79 -0
- package/lib/drama/skills/short-drama/references/creator-workflow.md +51 -77
- package/lib/drama/skills/short-drama/references/knowhow-index.md +2 -0
- package/lib/drama/skills/short-drama/references/look-development.md +2 -3
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +14 -48
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +1 -1
- package/lib/drama/skills/short-drama/references/reference-roles.md +29 -135
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +13 -19
- package/lib/drama/skills/short-drama-assets/SKILL.md +40 -161
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +18 -25
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +13 -15
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +11 -14
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -12
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -11
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +2 -2
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +10 -105
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +12 -32
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +41 -155
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +12 -13
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +10 -12
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +39 -51
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +3 -4
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +15 -14
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +11 -15
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +1 -1
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +4 -7
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +23 -23
- package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +6 -65
- package/lib/drama/skills/short-drama-produce/SKILL.md +26 -10
- package/lib/drama/skills/short-drama-review/SKILL.md +61 -123
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -15
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +15 -16
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +7 -9
- package/lib/drama/skills/short-drama-review/references/review-method.md +8 -9
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +9 -13
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +104 -4
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +15 -19
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +4 -63
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +49 -240
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +9 -34
- package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +5 -10
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +8 -7
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +24 -62
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +16 -25
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +5 -23
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -10
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +9 -13
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +11 -71
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +44 -219
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +10 -8
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +3 -5
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +2 -2
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +13 -23
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +8 -11
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +2 -3
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +34 -63
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +13 -72
- package/lib/drama/skills/short-drama-write/SKILL.md +73 -268
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +7 -0
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +17 -43
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +15 -15
- package/lib/drama/skills/short-drama-write/references/script-craft.md +208 -21
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +11 -70
- package/lib/index.js +107 -14
- package/lib/index.js.map +4 -4
- package/lib/oh-story/manifest.json +26 -26
- package/lib/oh-story/roles/character-designer.md +4 -4
- package/lib/oh-story/roles/narrative-writer.md +11 -11
- package/lib/oh-story/roles/story-architect.md +20 -14
- package/lib/oh-story/roles/story-explorer.md +8 -5
- package/lib/oh-story/skills/story-import/SKILL.md +5 -1
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +1 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +11 -5
- package/lib/oh-story/skills/story-setup/SKILL.md +12 -9
- package/lib/types/client/file-activity.d.ts +5 -0
- package/lib/types/client/file-activity.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/index.d.ts +2 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/reference-tool.d.ts +6 -0
- package/lib/types/reference-tool.d.ts.map +1 -0
- package/lib/types/role-provider.d.ts.map +1 -1
- package/lib/types/role-tool.d.ts +3 -1
- package/lib/types/role-tool.d.ts.map +1 -1
- package/lib/types/skill-provider.d.ts.map +1 -1
- package/package.json +3 -2
- package/lib/drama/skills/short-drama/references/lifecycle-commands.md +0 -130
|
@@ -1,70 +1,32 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 分镜完成前检查
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
这份清单只检查 `分镜.md` 能直接证明的结构事实,把审查注意力留给真正需要读懂戏的判断。
|
|
4
|
+
检查发现问题就修正文档,不另建 coverage、QA 或校验结果文件。
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
- [诊断目录](#诊断目录)
|
|
7
|
-
- [不进这份目录的东西](#不进这份目录的东西)
|
|
6
|
+
## 可直接核对
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
- 每个 `SHOT-...` ID 唯一,来源场景 ID 能在 `剧本.md` 找到;
|
|
9
|
+
- 每个制作相关的动作、对白、VO/OS、SFX、画面文字与连续性要求都由镜头承载,或有明确创作理由;
|
|
10
|
+
- 同一来源动作只有一个主要落实镜头,其他镜头只增加反应、细节或重新解释;
|
|
11
|
+
- 每镜时长是正数,全剧时长等于可见镜头时长之和;目标时长只用于报告差值,不是质量门槛;
|
|
12
|
+
- 起点和终点都写绝对事实,不使用“同上”“保持不变”代替;
|
|
13
|
+
- 相邻镜头的站位、朝向、视线、持物、伤势、光态与可读文字连续;
|
|
14
|
+
- 每镜指名真实存在的 `IMG-...` 参考,并说明它控制身份、造型、地理、构图还是其他边界;
|
|
15
|
+
- 冻结关键帧只投影所声明的边界:默认起点;外部工作流确实需要时才增加终点帧;
|
|
16
|
+
- 可复制关键帧正文不含 ID、文件路径、工作流状态或工艺说明。
|
|
10
17
|
|
|
11
|
-
|
|
12
|
-
与它绑定的字段一致、边界条目有没有写成常见的回指说法、每条引用是否解析得到一个上游快照。它们由
|
|
13
|
-
[storyboard_check.py](../scripts/storyboard_check.py) 执行,`enforcer` 一律是 `validator`。
|
|
14
|
-
脚本读引用时先取文件的 `sources` 声明,再按每条引用的 `src` 取回 `owner` 与 `artifact`。
|
|
18
|
+
结构检查失败时点名文件、场景或镜头 ID、冲突事实和负责 owner,不回显整段私有文本。
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
镜头 ID,肉眼看过去和写全了完全一样。把这类工作交给脚本,审查者的注意力才能留给
|
|
18
|
-
真正需要判断的东西。
|
|
20
|
+
## 需要语义审查
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
下列问题不能靠字段数量或脚本替代:
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
| SHT05_BOUNDARY_ENTRY_IS_A_BACK_REFERENCE | structural_invariant | validator | error | storyboard | 边界条目整条是「同上」「位置不变」这类回指,没有写出绝对事实 |
|
|
29
|
-
| SHT16_RECORD_MISSING | structural_invariant | validator | error | storyboard | 覆盖记录没有 `episode_duration` |
|
|
30
|
-
| SHT16_RECORD_INCOMPLETE | structural_invariant | validator | error | storyboard | `episode_duration` 缺少 `counted_shot_ids` 或 `unresolved_durations` |
|
|
31
|
-
| SHT16_SHOT_LEFT_THE_TOTAL | structural_invariant | validator | error | storyboard | 覆盖列出的镜头既不计入总和也没被挂起 |
|
|
32
|
-
| SHT16_SHOT_COUNTED_AND_UNRESOLVED | structural_invariant | validator | error | storyboard | 同一镜头既算进总和又列为未定 |
|
|
33
|
-
| SHT16_SHOT_UNRESOLVABLE | structural_invariant | validator | error | storyboard | 时长记录点名的镜头不在镜头文件里 |
|
|
34
|
-
| SHT16_COUNTED_SHOT_HAS_NO_DURATION | structural_invariant | validator | error | storyboard | 计入总和的镜头没有数值 `duration_seconds` |
|
|
35
|
-
| SHT16_SUSPENDED_SHOT_HAS_A_DURATION | structural_invariant | validator | error | storyboard | 挂起为未定的镜头其实已有时长 |
|
|
36
|
-
| SHT16_TOTAL_MISSING | structural_invariant | validator | error | storyboard | `shot_seconds_total` 不是数值 |
|
|
37
|
-
| SHT16_TOTAL_IS_NOT_THE_SUM | structural_invariant | validator | error | storyboard | 总和不等于各计入镜头时长之和 |
|
|
38
|
-
| SHT16_DELTA_MISSING | structural_invariant | validator | error | storyboard | 声明了目标却没有带符号差值 |
|
|
39
|
-
| SHT16_DELTA_IS_WRONG | structural_invariant | validator | error | storyboard | 差值不等于总和减目标 |
|
|
40
|
-
| SHT16_SHOT_LISTED_TWICE | structural_invariant | validator | error | storyboard | 同一镜头在时长记录里出现多次,会被加两次 |
|
|
41
|
-
| SHT16_EPISODE_SHOT_LEFT_THE_TOTAL | structural_invariant | validator | error | storyboard | `shots.jsonl` 里的镜头既不计入总和也没被挂起 |
|
|
42
|
-
| SHT16_DISPOSITION_MISSING | structural_invariant | validator | error | storyboard | 声明了目标却没有对差值的处置 |
|
|
43
|
-
| SHT16_DISPOSITION_CLAIMS_A_TARGET | structural_invariant | validator | error | storyboard | 没有目标却给出了判断目标的处置 |
|
|
44
|
-
| SHT17_KEYFRAME_HAS_NO_ID | structural_invariant | validator | error | storyboard | 关键帧记录没有 `keyframe_id` |
|
|
45
|
-
| SHT17_BOUNDARY_ROLE_MISSING | structural_invariant | validator | error | storyboard | 关键帧没声明它冻结的是哪一端 |
|
|
46
|
-
| SHT17_BOUNDARY_REF_MISSING | structural_invariant | validator | error | storyboard | 关键帧没有绑定它投影的边界 |
|
|
47
|
-
| SHT17_BOUNDARY_REF_DISAGREES_WITH_ROLE | structural_invariant | validator | error | storyboard | 声明的角色与绑定的边界字段不一致 |
|
|
48
|
-
| SHT17_BOUNDARY_REF_UNRESOLVABLE | structural_invariant | validator | error | storyboard | 关键帧绑定的镜头不在镜头文件里 |
|
|
49
|
-
| SHT17_DUPLICATE_BOUNDARY_KEYFRAME | structural_invariant | validator | error | storyboard | 同一镜头的同一端有两张关键帧 |
|
|
50
|
-
| SHT01_BLOCK_UNCLAIMED | structural_invariant | validator | error | storyboard | 处理为 `covered`/`intentional_repeat` 的块没有镜头认领 |
|
|
51
|
-
| SHT01_BLOCK_CLAIMED_TWICE | structural_invariant | validator | error | storyboard | 非 `intentional_repeat` 的块被多个镜头认领 |
|
|
52
|
-
| SHT01_BLOCK_IS_ON_SCREEN_ANYWAY | structural_invariant | validator | error | storyboard | 记为不拍的块却有镜头认领 |
|
|
53
|
-
| SHT01_BLOCK_NOT_IN_SCREENPLAY | structural_invariant | validator | error | storyboard | 镜头认领的块不在剧本索引里 |
|
|
54
|
-
| SHT01_BLOCK_HAS_NO_DISPOSITION | structural_invariant | validator | error | storyboard | 有制作相关的块没有写处理 |
|
|
55
|
-
| SHT01_DISPOSITIONS_MISSING | structural_invariant | validator | error | storyboard | 覆盖表没有 `dispositions` |
|
|
56
|
-
| SHT01_DISPOSITION_MALFORMED | structural_invariant | validator | error | storyboard | 处理行不是对象或没点名块 |
|
|
57
|
-
| SHT01_DISPOSITION_UNKNOWN | structural_invariant | validator | error | storyboard | 处理不是工作流定义的四种之一 |
|
|
58
|
-
| SHT01_DISPOSITION_REPEATED | structural_invariant | validator | error | storyboard | 同一个块写了多行处理 |
|
|
59
|
-
| SHT01_DISPOSITION_NOT_IN_SCREENPLAY | structural_invariant | validator | error | storyboard | 处理点名的块不在剧本索引里 |
|
|
60
|
-
| SHT01_DISPOSITION_HAS_NO_REASON | structural_invariant | validator | error | storyboard | 重复或省略是决定,必须写理由 |
|
|
61
|
-
| SHT01_SCREENPLAY_IS_NOT_FULLY_INDEXED | structural_invariant | validator | error | storyboard | 剧本索引里还有没归类的行,覆盖检查看不到剧本的全部 |
|
|
24
|
+
- 镜头是否守住来源原意和观众知情时机;
|
|
25
|
+
- 重复覆盖是否真的增加新的反应、证据或理解;
|
|
26
|
+
- 景别、机位、运动和切点是否由注意、压力、关系、空间或节奏变化驱动;
|
|
27
|
+
- 多人调度是否让主要关系和注意交接可读;
|
|
28
|
+
- 证据文字、决定性手部动作、脸与眼神是否会被遮挡;
|
|
29
|
+
- 关键帧是否既可冻结,又保留镜头下一步需要发生的动作空间。
|
|
62
30
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- **目标时长的差值本身**:`SHT-16` 只让脚本核对差值算得对不对。差值多大是创作者的判断,
|
|
66
|
-
目标时长是计划而不是质量门槛,脚本不因为差值大小报错。
|
|
67
|
-
- **关键帧数量**:默认一张首帧,只在交付工作流真的消费尾帧时才有第二张。缺尾帧不是缺陷,
|
|
68
|
-
脚本也不检查"是否该有尾帧"。
|
|
69
|
-
- **镜头拆得对不对、景别选得对不对、构图好不好**:这些需要读懂本场在做什么,属于审查者,
|
|
70
|
-
判据在本技能的工艺参考里,不在这份目录。
|
|
31
|
+
关键帧数量、镜头数量、景别比例和目标时长差值都不是通用质量门槛。审查 finding 必须给出位置、
|
|
32
|
+
证据、影响和必须达到的修订结果,不能只说“镜头不够电影感”或“看起来像 AI”。
|
|
@@ -1,39 +1,30 @@
|
|
|
1
1
|
# 场次视觉戏剧计划
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
场次视觉计划是正式分镜前的可选思考层,回答整场怎样改变观众位置、空间压力、观看节奏和声音注意。
|
|
4
|
+
它不是第二份剧本,也不拥有镜头边界。
|
|
5
5
|
|
|
6
|
-
##
|
|
6
|
+
## 什么时候使用
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
不要把可选方法变成表单负担。
|
|
8
|
+
只在导演选择明显影响体验时使用:主要人物亮相、身份/证据揭示、关系反转、高潮或结尾、复杂多人
|
|
9
|
+
调度、延迟信息的悬念场、承担视觉母题的场景。普通场景直接写镜头,不增加表单。
|
|
11
10
|
|
|
12
|
-
##
|
|
11
|
+
## 在上下文比较什么
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
`BLK-…` heading/action 记录;再分别绑定已接受视觉方向、制作配置、Location/View 与涉及的
|
|
16
|
-
CHAR/LOOK、PROP/PSTATE。只有创作者选过 audition 时才加 `source_audition_ref` 与独立的
|
|
17
|
-
`creator_selection_ref`;没有 audition 时删除这两项,不能保留占位引用。先写:
|
|
13
|
+
使用场景标题 ID,例如 `EP001-SC003`,并结合当前视觉设定比较:
|
|
18
14
|
|
|
19
|
-
1.
|
|
20
|
-
2.
|
|
15
|
+
1. **戏剧转向**:哪一种公开关系、信息或选择不可逆地改变;
|
|
16
|
+
2. **观众立场**:开场站在哪一方,结束被移到哪里;
|
|
21
17
|
3. **空间压力**:入口、距离、占位、遮挡、让路或退路怎样承载人物策略;
|
|
22
18
|
4. **视觉推进**:什么时候让信息、反应或空间先于特写落地;
|
|
23
19
|
5. **摄影节奏**:固定、移动、切近和停留分别由什么变化触发;
|
|
24
20
|
6. **反应落点**:结尾画面由谁的选择或空间后果承担;
|
|
25
|
-
7.
|
|
21
|
+
7. **声音策略**:主导声源、主动留白、距离变化、撤出/恢复和 sound bridge。
|
|
26
22
|
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
只有真正不同的方案才比较;不固定方案数、宫格、景别或镜头数。选定后直接把结果投影进
|
|
24
|
+
`分镜.md` 的镜头职责、景别/机位、起止边界与声音,不另存 audition、plan 或接受记录。
|
|
29
25
|
|
|
30
|
-
##
|
|
26
|
+
## 检查
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
审查时不按字段完整度打分,而看 audience alignment、knowledge、spatial access/pressure、rhythm
|
|
37
|
-
中是否至少一项产生有意变化;有意保持同一观看位置也可以成立,但要说明它怎样制造观察、困住感
|
|
38
|
-
或重新解释同构画面。再看空间和声音是否共同承担同一转向,以及逐镜变化是否只是重复
|
|
39
|
-
中近景—反打—推镜。
|
|
28
|
+
不按字段完整度打分。检查观众立场、知情时机、空间压力或节奏是否发生有意变化;有意保持同一观看
|
|
29
|
+
位置也可以成立,但必须说明它怎样制造观察、困住感或重新解释同构画面。再检查空间、摄影和声音是否
|
|
30
|
+
共同承担同一转向,而不是重复“中近景—反打—推镜”。
|
package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md
CHANGED
|
@@ -53,17 +53,8 @@ A02(摊手与蓝线头)。
|
|
|
53
53
|
- 构图:纵向双人中景,柜台横线分隔双方。
|
|
54
54
|
- 摄影机:固定机位,让“不递”这个选择持续存在。
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
~~~json
|
|
59
|
-
{"record_type": "sources", "schema_version": "1.0.0", "sources": {"screenplay-index": {"owner": "short-drama-write", "artifact": "剧集/EP004/screenplay-index.jsonl"}}}
|
|
60
|
-
~~~
|
|
61
|
-
|
|
62
|
-
镜头记录里的每条来源引用只写这个快照键和记录 ID:
|
|
63
|
-
|
|
64
|
-
~~~json
|
|
65
|
-
{"src": "screenplay-index", "record_id": "BLK-EP004-SC002-A01"}
|
|
66
|
-
~~~
|
|
56
|
+
来源:`剧本.md / EP004-SC002` 中“沈禾把拳压在台沿但不递牌”的动作和对应对白。正式镜头在
|
|
57
|
+
`分镜.md` 直接写这个场景 ID 与必要短引文。
|
|
67
58
|
|
|
68
59
|
若为了增加动作而让沈禾把取衣牌交出去,就改写了故事,必须拒绝这种改动。
|
|
69
60
|
|
|
@@ -136,22 +127,13 @@ A02(摊手与蓝线头)。
|
|
|
136
127
|
| 本镜表演状态 | 本技能 | 边界里可见的收敛:下颌收紧、身体不前倾、音量压在楼道回声之下 | 不把“压着嗓子”升级成“低吼”或“怒斥” |
|
|
137
128
|
| 下游 `delivery` | 视频提示词 | 由同一条来源取到的语气,再落成呼吸、停顿和音量走向 | 不新起情绪词,也不与本镜表演状态相反 |
|
|
138
129
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
~~~json
|
|
142
|
-
{"screenplay-index": {"owner": "short-drama-write", "artifact": "剧集/EP002/screenplay-index.jsonl"}}
|
|
143
|
-
~~~
|
|
144
|
-
|
|
145
|
-
镜头记录与运动规格里的引用都写成:
|
|
146
|
-
|
|
147
|
-
~~~json
|
|
148
|
-
{"src": "screenplay-index", "record_id": "BLK-EP002-SC004-D01"}
|
|
149
|
-
~~~
|
|
130
|
+
两处引用同一条来源:`剧本.md / EP002-SC004 / 角色甲对白“你现在放回去……”`。分镜与视频提示词
|
|
131
|
+
都保留这个场景 ID 与准确台词,不另造情绪来源。
|
|
150
132
|
|
|
151
133
|
- 角色乙的 `(笑)` 同样同源投影:本镜写“嘴角上扬、眼睛不动、重心后靠”,下游写
|
|
152
134
|
“句尾带气声的短笑”,两处解释的是同一条括注,不是两次独立发明。
|
|
153
135
|
- 若下游认为该情绪不成立——例如楼梯间的回声让“压着嗓子”传不出信息——修订回到剧本:
|
|
154
|
-
|
|
136
|
+
编剧改括注后,本技能与视频提示词再各自重新投影一次。**不能**在镜头写
|
|
155
137
|
“克制”、在运动规格写“爆发”,让同一句台词挂着两个互相冲突的情绪来源。
|
|
156
138
|
- 情绪来源只决定表演状态,不自动决定景别或运镜。`(压着嗓子)` 不等于必须切特写;
|
|
157
139
|
本镜给什么景别,仍由观众此刻必须读到的信息决定。
|
|
@@ -26,10 +26,8 @@
|
|
|
26
26
|
连续表演和空间关系能守住原意时,几段原文可以合在一镜;揭示、反应、证据细节或空间
|
|
27
27
|
变化很重要时,一段原文也可以由几镜承担。
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
写上 `record_id`,这样才能知道审查的是哪一版。同一文件内部的关系可以用 `*_ids`;
|
|
32
|
-
跨文件关系必须用 `*_refs`,以便来源改变后发现过期引用。
|
|
29
|
+
原文落实直接写在 `分镜.md`:每个制作相关的动作、对白、声音和画面文字都指向承担它的
|
|
30
|
+
`SHOT-...`;镜头条目反向写场景 ID 与必要短引文。来源改变后逐场复核对应镜头,不依赖隐藏引用。
|
|
33
31
|
|
|
34
32
|
重复拍同一段内容,只有在第二次带来新的观众体验时才成立,例如新增反应、矛盾、
|
|
35
33
|
此前保留的证据或对前镜的新理解;不能因为第一次对应关系被忘了就重复。
|
|
@@ -69,8 +67,8 @@
|
|
|
69
67
|
|
|
70
68
|
### 观众可见性 (`SHT-12`)
|
|
71
69
|
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
构图同时决定观众此刻能知道什么。每个事实单独写一条观众可见性判断:绑定准确场景 ID,说明
|
|
71
|
+
现在展示还是暂时扣住,写明可见或可听的载体,并分别写出
|
|
74
72
|
揭示条件、保护方法和理由。同一镜中的不同事实可以在不同时间放出。
|
|
75
73
|
|
|
76
74
|
背影、只露腿部的入场、门缝、前景遮挡、延迟对焦,以及**逆光成剪影或压暗到只剩轮廓**,
|
|
@@ -98,10 +96,10 @@
|
|
|
98
96
|
跨轴本身不是错误;没有动机又让空间难以理解才是问题。跨轴时可以使用中性过渡镜头、
|
|
99
97
|
人物在同一镜内穿轴、有意制造主观错乱,或重新建立空间。
|
|
100
98
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
画面文字必须服从 `视觉设定.md` 中已经写明的文字政策。镜头和关键帧直接引用对应标题或
|
|
100
|
+
`IMG-...`,可以决定文字是否可见、大小、角度和对焦,但不能静默编造文案,也不能改写
|
|
101
|
+
“逐字可读”“只保留图形”或“无可读文字”等当前决定。政策仍未决定时要明确标为未决,不能
|
|
102
|
+
假装已经可以交付。
|
|
105
103
|
|
|
106
104
|
## 景别与摄影机动机
|
|
107
105
|
|
|
@@ -7,23 +7,19 @@
|
|
|
7
7
|
|
|
8
8
|
- **重排**:只改变顺序,镜头目的与边界职责不变时保留原 ID;刷新依赖顺序与相邻边界。
|
|
9
9
|
- **插入**:新增一个独立注意或戏剧职责时创建新 ID;不要给后续所有镜头重新编号。
|
|
10
|
-
- **内容修订**:同一镜头目的下调整构图、blocking 或边界,保留 ID
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
10
|
+
- **内容修订**:同一镜头目的下调整构图、blocking 或边界,保留 ID 并更新当前文档。
|
|
11
|
+
- **拆分**:原镜头被两个或更多独立职责取代时,停用旧 ID,为每个新镜头创建新 ID;在修订说明中
|
|
12
|
+
写清前身,不把旧 ID 偷给其中一个子镜头。
|
|
13
|
+
- **合并**:多个旧镜头被一个新决定取代时,停用全部旧 ID,创建新 ID,并列出来源集合。
|
|
14
|
+
- **恢复**:停用的 ID 不复用于无关镜头;需要恢复同一职责时显式说明关系。
|
|
15
15
|
|
|
16
|
-
普通新镜只需要稳定 `
|
|
17
|
-
|
|
18
|
-
拆分、合并或恢复旧职责时,从
|
|
19
|
-
[`revision-lineage.fragment.json`](../assets/revision-lineage.fragment.json) 插入统一结构;同一 shot 文件
|
|
20
|
-
内的前身与 retired 关系使用稳定 ID,不伪造指向本文件自身的引用。
|
|
16
|
+
普通新镜只需要稳定 `SHOT-...`。拆分、合并或恢复旧职责时,在 `分镜.md` 的修订说明中列出前身、
|
|
17
|
+
后继与停用 ID;没有关系时不写空模板。
|
|
21
18
|
|
|
22
19
|
## 每次拆分、合并或重排后的对账
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
不能继续被 active coverage 或交付容器引用。
|
|
21
|
+
重新核对原文落实、场次视觉计划、关键帧、`MOTION-...`、多镜分组、相邻起止边界、总时长与审查
|
|
22
|
+
结论。旧 ID 只在修订说明中解释历史,不能继续被当前镜头或交付分组引用。
|
|
27
23
|
|
|
28
24
|
脚本可以检查引用、集合和算术;“是否仍是同一个导演决定”由 agent 根据镜头目的、信息变化、
|
|
29
25
|
表演所有权和边界职责判断,不能用文本相似度或数组位置硬判。
|
|
@@ -1,70 +1,10 @@
|
|
|
1
1
|
# 分镜阶段契约
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本阶段只拥有 `剧集/<EP>/分镜.md` 中的 `SHOT-...`、镜头职责、来源、时长、起止边界、声音、图片参考和
|
|
4
|
+
冻结关键帧。它继承剧本事实与视觉设定,不改写剧情或资产身份。
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- [制作形态需要什么](#制作形态需要什么)
|
|
8
|
-
- [参考媒体与补拍](#参考媒体与补拍)
|
|
9
|
-
- [本阶段规则](#本阶段规则)
|
|
10
|
-
|
|
11
|
-
本文件是本技能的自包含契约:预检、所有权、形态输入与规则表都在这里,
|
|
12
|
-
不需要读取其他技能的文件。
|
|
13
|
-
|
|
14
|
-
## 独立运行与项目集成
|
|
15
|
-
|
|
16
|
-
本技能可以单独安装并运行;下面几条说明项目工具存在时怎样集成。
|
|
17
|
-
|
|
18
|
-
1. **读取直接输入**:只读取用户明确提供或当前任务实际需要的文件,不批量加载整个项目。
|
|
19
|
-
2. **可选项目集成**:若存在 `short-drama.json` 且 core 项目工具可用,可以运行
|
|
20
|
-
`python3 <core>/scripts/project_tool.py status <project>`,使用返回的目录布局和语言设置;
|
|
21
|
-
core 不可用时,直接基于已提供输入产出本阶段文件。
|
|
22
|
-
3. **可选发布生命周期**:项目工具可用时,用 `publish` 原子发布并用 `--input <path>`
|
|
23
|
-
声明直接输入;`accept`、`review` 与 `package` 继续承担确认、复核与交付。
|
|
24
|
-
4. **保持职责分离**:创作者确认、内容修订和复核是不同动作;reviewer 提修改要求,负责人改文件。
|
|
25
|
-
|
|
26
|
-
## 所有权边界
|
|
27
|
-
|
|
28
|
-
- **本阶段拥有**:可选 coverage audition 与场次视觉计划、覆盖处置、镜头目的、镜头时长、
|
|
29
|
-
绑定、起止边界;关键帧的注意焦点、构图、机位/镜头与冻结站位。渲染出的关键帧提示词是缓存。
|
|
30
|
-
- **本阶段继承**:剧本的信息权限与原文要求;资产的身份与变体绑定。
|
|
31
|
-
- **本阶段不越权**:不用风格词改写人物状态,不新建资产身份,不改写剧本事实。镜头边界
|
|
32
|
-
拥有起止位置、姿态、目光、双手、持物与可见连续性;关键帧只投影这些事实,永不覆盖它们。
|
|
33
|
-
|
|
34
|
-
## 制作形态需要什么
|
|
35
|
-
|
|
36
|
-
视觉风格不是贴在提示词前面的标签。创作者已接受的视觉方向与制作形态由项目层决定并传入,
|
|
37
|
-
**本技能不加载形态卡,也不自行选择形态**;本节只说明本阶段需要形态回答什么、以及拿到
|
|
38
|
-
答案后投影成哪些字段。
|
|
39
|
-
|
|
40
|
-
形态决定属于 `craft_default`:创作者说明理由即可覆盖。形态不能创造新的
|
|
41
|
-
`structural_invariant`,也不能改写身份、地理、持物归属与可读文字政策。审查者不得单凭
|
|
42
|
-
形态偏好阻断交付。
|
|
43
|
-
|
|
44
|
-
不要用“加一句风格前缀”处理形态差异。前缀只改变检索标签;形态改变的是**必须出现和
|
|
45
|
-
可以省略的字段**,只有后者会被执行,也只有后者能被审查。
|
|
46
|
-
|
|
47
|
-
本阶段要向形态决定问:**注意力、层次、遮挡、可动层与冻结边界**在本形态下怎么表达。
|
|
48
|
-
|
|
49
|
-
运动预算的默认值随形态改变:实拍默认全动作,要写的是限制;三维默认可全动作,但摄影机
|
|
50
|
-
是最贵的一层;限动画与水墨默认保持姿态,要写的是**哪一层例外**;Q 版默认一镜一因果。
|
|
51
|
-
省掉这一判断的后果可预测:默认保持姿态的形态会被写成全员飘动,默认全动作的形态会被
|
|
52
|
-
写成一串没有接触点的动作词。
|
|
53
|
-
|
|
54
|
-
本阶段新增:注意力、层次、遮挡、可动层与冻结边界。
|
|
55
|
-
|
|
56
|
-
## 参考媒体与补拍
|
|
57
|
-
|
|
58
|
-
- **参考图能决定什么要逐张写明**:每张参考的用途、可以照搬什么、不可以照搬什么。身份参考
|
|
59
|
-
不自动决定构图;构图、尺度或效果参考不自动带入图中人物、服装、文字、道具与故事状态。
|
|
60
|
-
- **像素主张需要证据**:关于参考图上可见内容(尤其文字、水印、标牌、界面)的断言,必须
|
|
61
|
-
来自创作者/参考图权利人的可核对说明,或运行环境获授权后形成的输入参考观察记录,并绑定
|
|
62
|
-
被检查的字节。两者都没有时保持 `unverified`,负面提示词不能代替证据。
|
|
63
|
-
- **观众揭示时机**:某一事实何时可被观众看到,由已接受的可见性决定绑定其来源、载体、
|
|
64
|
-
权限、触发与保护方式。构图既不能提前泄露该事实,也不能遮掉本环节必须传达的载体。
|
|
65
|
-
- **母版、补拍与替代**:补拍默认只补充、不替代母版。普通母版不增加版本范围字段;只有
|
|
66
|
-
补拍/替代版才声明 `pickup | alternate`,用同一文件内稳定的记录 ID 说明母版与补充关系,并把每项原文要求对应到当前字段或说明
|
|
67
|
-
去向。只有下游审查结论才能批准替代,不得回写形成循环引用。
|
|
6
|
+
覆盖比较、场次视觉计划和调度推演都留在上下文;只有最终镜头与关键决定进入 `分镜.md`。来源使用
|
|
7
|
+
场景 ID,资产参考使用 `IMG-...`,不建立 coverage、shots、keyframes、audition 或接受记录。
|
|
68
8
|
|
|
69
9
|
## 本阶段规则
|
|
70
10
|
|
|
@@ -72,11 +12,11 @@
|
|
|
72
12
|
|
|
73
13
|
| ID | Class | Knowledge |
|
|
74
14
|
|---|---|---|
|
|
75
|
-
| SHT-01 | structural_invariant | Every production-relevant
|
|
15
|
+
| SHT-01 | structural_invariant | Every production-relevant scene action, line, sound and on-screen text is carried by a shot or explicitly omitted with a creative reason. |
|
|
76
16
|
| SHT-02 | reviewed_invariant | Each shot has a dramatic/viewing purpose and preserves its source meaning. |
|
|
77
17
|
| SHT-03 | craft_default | Keep a short shot focused on the smallest action/reaction unit that carries its purpose; combine or split it according to performance, information, and continuity rather than a fixed count. |
|
|
78
18
|
| SHT-04 | craft_default | Change framing/camera because attention, pressure, alignment, reveal, or rhythm changes. |
|
|
79
|
-
| SHT-05 | structural_invariant | A keyframe projects one
|
|
19
|
+
| SHT-05 | structural_invariant | A keyframe projects one shot boundary and the exact `IMG-...` references named by that shot. |
|
|
80
20
|
| SHT-06 | reviewed_invariant | A keyframe is one freezeable instant, not an ordered action chain. |
|
|
81
21
|
| SHT-07 | taste_option | Lens vocabulary, tempo, and locked/handheld/formal style follow visual direction. |
|
|
82
22
|
| SHT-08 | reviewed_invariant | Each authoritative source action is realized once; repeated coverage adds reaction/detail/recontextualization rather than replaying it. |
|
|
@@ -87,12 +27,12 @@
|
|
|
87
27
|
| SHT-13 | reviewed_invariant | Multi-character blocking projects sourced, directed relationships into compatible positions, gaze, distance, and action lines for the current boundary. |
|
|
88
28
|
| SHT-14 | reviewed_invariant | A contested moving object preserves ownership, trajectory, direction, time/round state, and end location across cuts unless an authorized ellipsis says otherwise. |
|
|
89
29
|
| SHT-15 | reviewed_invariant | When the creator has declared delivery-surface overlay regions with their permanence and source, what a shot must be read for—face and gaze, readable evidence text, the decisive hand action—does not sit only inside those regions, and shots bind the declared version. An undeclared surface leaves the rule inactive: record it as unresolved and do not restage against a guessed region. |
|
|
90
|
-
| SHT-16 | structural_invariant |
|
|
30
|
+
| SHT-16 | structural_invariant | The episode duration is the arithmetic sum of visible shot durations; an unresolved duration stays visibly unresolved, and a target delta is reported rather than used as a universal quality gate. |
|
|
91
31
|
| SHT-17 | structural_invariant | A keyframe declares which boundary it freezes and binds that shot's matching boundary field. An end keyframe is a projection of `end_boundary`, never a second end-state authority, and per-shot keyframe count stays open: one start frame by default, an end frame only when the delivery workflow consumes it. Handing over a start/end pair delegates the motion between them to interpolation, so an action the shot exists for cannot rest on that gap alone. |
|
|
92
32
|
| SHT-18 | craft_default | For a scene where directing choice materially changes audience knowledge, alignment, spatial pressure, performance ownership, or the landing, an accepted scene visual plan may bridge project direction and shots; it binds exact screenplay blocks, direction/profile, Location/View and relevant asset states, ordinary scenes skip it, and it never owns screenplay facts or shot boundaries. |
|
|
93
|
-
| SHT-19 | reviewed_invariant | When a coverage audition is used, its approaches genuinely differ by knowledge timing, alignment, performance space, strongest image, landing, losses, or production fit; it uses no fixed option, grid, framing, or shot-count formula, and
|
|
33
|
+
| SHT-19 | reviewed_invariant | When a coverage audition is used, its approaches genuinely differ by knowledge timing, alignment, performance space, strongest image, landing, losses, or production fit; it uses no fixed option, grid, framing, or shot-count formula, and the selected approach is stated before formal shots are written. |
|
|
94
34
|
| SHT-20 | reviewed_invariant | Shot revision identity follows directing responsibility rather than array position or text similarity: reorder preserves IDs, insertion creates one, split/merge retires replaced IDs and creates successors, and active coverage plus downstream refs are reconciled before delivery. |
|
|
95
|
-
| SHT-21 | reviewed_invariant | A keyframe's
|
|
35
|
+
| SHT-21 | reviewed_invariant | A keyframe's copyable text carries only what will be visible; IDs, workflow notes, file paths and craft commentary stay outside the prompt. Two prompts that differ only by identifiers are a template, not two frames. |
|
|
96
36
|
|
|
97
37
|
### `CON`
|
|
98
38
|
|
|
@@ -101,9 +41,9 @@
|
|
|
101
41
|
| CON-01 | structural_invariant | Linked end and next start states match or have an explicit owner revision. |
|
|
102
42
|
| CON-02 | reviewed_invariant | Knowledge, injury, ownership, weather, light, or physical state does not teleport/regress without story cause. |
|
|
103
43
|
| CON-03 | craft_default | Track downstream-relevant deltas, not the whole 设定集 in every shot. |
|
|
104
|
-
| CON-04 | structural_invariant | A
|
|
44
|
+
| CON-04 | structural_invariant | A continuity change states before, after, cause/source scene, effective range, and affected visible IDs. |
|
|
105
45
|
| CON-05 | taste_option | Declared montage, ellipsis, dream, or subjective imagery may intentionally break ordinary continuity. |
|
|
106
|
-
| CON-06 | structural_invariant | A
|
|
46
|
+
| CON-06 | structural_invariant | A continuity change names every existing downstream document it affects; future work is described, not pre-created. |
|
|
107
47
|
|
|
108
48
|
规则分级由高到低:`structural_invariant`(结构缺陷,阻断)、
|
|
109
49
|
`reviewed_invariant`(需证据判断)、`craft_default`(常用做法,可覆盖)、
|