@oh-story/dsh 0.1.18 → 0.1.19

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.
Files changed (125) hide show
  1. package/README.md +12 -12
  2. package/lib/drama/manifest.json +77 -247
  3. package/lib/drama/skills/short-drama/SKILL.md +9 -1
  4. package/lib/drama/skills/short-drama/references/creator-documents.md +51 -23
  5. package/lib/drama/skills/short-drama/references/reference-roles.md +1 -1
  6. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +442 -129
  7. package/lib/drama/skills/short-drama/scripts/project_tool.py +54 -1
  8. package/lib/drama/skills/short-drama-assets/SKILL.md +2 -6
  9. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +9 -3
  10. package/lib/drama/skills/short-drama-assets/references/era-anchors.md +3 -3
  11. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +4 -0
  12. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +2 -2
  13. package/lib/drama/skills/short-drama-develop/references/episode-design.md +19 -4
  14. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/263/273/347/273/237/346/265/201.md +1 -1
  15. package/lib/drama/skills/short-drama-edit/SKILL.md +1 -1
  16. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +28 -6
  17. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +1 -1
  18. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +1 -5
  19. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +2 -2
  20. package/lib/drama/skills/short-drama-produce/SKILL.md +2 -0
  21. package/lib/drama/skills/short-drama-review/SKILL.md +0 -4
  22. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +1 -1
  23. package/lib/drama/skills/short-drama-storyboard/SKILL.md +9 -9
  24. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +43 -13
  25. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +5 -5
  26. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +5 -5
  27. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +27 -3
  28. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +2 -1
  29. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +6 -8
  30. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +16 -1
  31. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +23 -6
  32. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +2 -2
  33. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +8 -1
  34. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +41 -2
  35. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +1 -1
  36. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +5 -1
  37. package/lib/drama/skills/short-drama-write/SKILL.md +7 -3
  38. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +1 -1
  39. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +94 -1
  40. package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +13 -4
  41. package/lib/drama/skills/short-drama-write/scripts/selftest.py +3 -77
  42. package/lib/index.js +2 -2
  43. package/lib/index.js.map +1 -1
  44. package/lib/novel-to-game/README.md +20 -34
  45. package/lib/novel-to-game/README_ZH.md +20 -34
  46. package/lib/novel-to-game/VERSION +1 -1
  47. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +2 -6
  48. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/audio.js +33 -39
  49. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +2 -2
  50. package/lib/novel-to-game/manifest.json +46 -46
  51. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +1 -1
  52. package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +2 -3
  53. package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +6 -7
  54. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +2 -2
  55. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +1 -4
  56. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +1 -3
  57. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +1 -3
  58. package/lib/novel-to-game/skills/game-concept/SKILL.md +1 -1
  59. package/lib/novel-to-game/skills/game-qa/SKILL.md +3 -4
  60. package/lib/novel-to-game/skills/game-qa/references/qa-contract.md +1 -1
  61. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +3 -2
  62. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +13 -14
  63. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +1 -2
  64. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +4 -4
  65. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +2 -3
  66. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +0 -8
  67. package/lib/oh-story/manifest.json +49 -49
  68. package/lib/oh-story/skills/story/SKILL.md +2 -2
  69. package/lib/oh-story/skills/story/VERSION +1 -1
  70. package/lib/oh-story/skills/story-deslop/SKILL.md +2 -2
  71. package/lib/oh-story/skills/story-import/SKILL.md +5 -5
  72. package/lib/oh-story/skills/story-import/references/deep-analysis.md +1 -1
  73. package/lib/oh-story/skills/story-import/references/import-report.md +1 -1
  74. package/lib/oh-story/skills/story-import/references/import-tracking.md +1 -1
  75. package/lib/oh-story/skills/story-import/references/outline-reverse.md +1 -1
  76. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +6 -1
  77. package/lib/oh-story/skills/story-long-analyze/SKILL.md +2 -2
  78. package/lib/oh-story/skills/story-long-write/SKILL.md +2 -2
  79. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +3 -3
  80. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -2
  81. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +6 -1
  82. package/lib/oh-story/skills/story-review/SKILL.md +8 -7
  83. package/lib/oh-story/skills/story-review/references/agent-prompts.md +7 -7
  84. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -2
  85. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +6 -1
  86. package/lib/oh-story/skills/story-setup/SKILL.md +6 -6
  87. package/lib/oh-story/skills/story-short-write/SKILL.md +2 -2
  88. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +3 -3
  89. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +2 -2
  90. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +1 -1
  91. package/package.json +21 -21
  92. package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +0 -3
  93. package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +0 -4
  94. package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +0 -5
  95. package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +0 -3
  96. package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +0 -5
  97. package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +0 -3
  98. package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +0 -2
  99. package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +0 -2
  100. package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +0 -267
  101. package/lib/drama/skills/short-drama-assets/scripts/selftest.py +0 -89
  102. package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +0 -2
  103. package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +0 -443
  104. package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +0 -95
  105. package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +0 -2
  106. package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +0 -42
  107. package/lib/drama/skills/short-drama-review/assets/verdict-template.json +0 -32
  108. package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +0 -2
  109. package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +0 -34
  110. package/lib/drama/skills/short-drama-review/scripts/review_check.py +0 -325
  111. package/lib/drama/skills/short-drama-review/scripts/selftest.py +0 -87
  112. package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +0 -2
  113. package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +0 -12
  114. package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +0 -2
  115. package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +0 -191
  116. package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +0 -824
  117. package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +0 -21
  118. package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +0 -2
  119. package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +0 -38
  120. package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +0 -2
  121. package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +0 -329
  122. package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +0 -451
  123. package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +0 -327
  124. package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +0 -82
  125. package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +0 -416
@@ -48,7 +48,7 @@ license: MIT
48
48
  4. 范围完成后一次回报完成内容、关键决定、真实未决项和可选下一步。
49
49
  5. 不自动开始用户没点名的审查、归档或生产。
50
50
  6. 请求横跨视觉设定、图片提示词、分镜或视频提示词时,结束前核对当前已有文档的视觉依赖;
51
- 图片提示词和分镜并行完成时,也要同步两支的引用。五份文档齐备后再运行完整跨文档检查,不为检查补造文件。
51
+ 图片提示词和分镜并行完成时,也要同步两支的引用。每写完一份文档就带 `--partial` 运行跨文档检查,只核对已有文档;五份齐备后再运行完整检查。不为检查补造文件。
52
52
  7. 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;有必要图缺失就列表停下。
53
53
  停下时把三条路一起给出:把已有图片放进项目绑成 `REF-...`;由创作者在自己的工具里出图、本轮先用
54
54
  `PLAN-...` 写出逐镜挂图计划并照常产出视频提示词;或者明确改走文生视频。用本套件生产参考图需要项目外的
@@ -94,6 +94,14 @@ python3 {技能目录}/scripts/project_tool.py set-authority <project> \
94
94
  各字段取值由命中的模型方言给出:`$short-drama-video-prompts` 的 MiniMax H3 / Seedance / Wan 3.0 方言文件都写了
95
95
  推荐档案。写完用 `status` 复核 `video_model_profile` 是否已经出现。
96
96
 
97
+ 语速 `format.pacing` 和集数 `format.episode_count` 走同样的决策写入:`--field /format/pacing`,
98
+ `accepted_value` 写 `{"spoken_characters_per_second": <每秒可发声字数>, "seconds_per_action_paragraph": <每段动作秒数>}`,
99
+ 两项都要给;画面文字多、要按读字时间计时的项目,可再加 `"on_screen_text_characters_per_second"`。
100
+ `--field /format/episode_count`,`accepted_value` 写正整数。没有语速时写作阶段算不出秒数。
101
+ `status` 的 `profile_notes` 会列出各自有效、合在一起却做不到的设定,例如平均镜长低于目标模型原生最短时长,
102
+ 或设了单集目标时长却没有语速;看到就交创作者决定,不要等到分镜才发现。创作者选择用多镜容器解决镜长冲突时,
103
+ 在生产档案 `choices` 里加 `"multi_shot_containers": true`(同一条决策写入),这条提示随之消失。
104
+
97
105
  项目定位与安全写入见 [运行预检](references/runtime-preflight.md)。用户明确要求 Dashboard 时运行:
98
106
 
99
107
  ```bash
@@ -16,12 +16,12 @@
16
16
  当前状态与变化原因,不要抄剧情摘要,也不要把瞬时姿势或镜头角度升级成新资产。
17
17
 
18
18
  ```markdown
19
- ## 人物 · 江辰
19
+ ## 人物 · 许棠
20
20
  - 识别锚点:窄长眼、左眉尾旧疤、肩背略绷。
21
21
  - 本集造型:深灰旧西装,右袖口有雨水深痕。
22
22
  - 状态变化:EP001-SC003 后右手掌沾血。
23
23
  - 画面代称:Jiangchen
24
- - 连续性锁:LOCK-JIANGCHEN-SUIT《江辰深灰旧西装》(镜头:全集;图片提示词项:IMG-JIANGCHEN-SHEET)· 锁面:dark-grey worn wool suit
24
+ - 连续性锁:LOCK-XUTANG-SUIT《许棠深灰旧西装》(镜头:入画;图片提示词项:IMG-XUTANG-SHEET)· 锁面:dark-grey worn wool suit
25
25
  ```
26
26
 
27
27
  二级标题固定写成 `## <人物|造型|地点|道具> · <名称>`;分镜的「视觉依据」按这个标题定位条目。
@@ -41,7 +41,9 @@
41
41
  `状态变化`。一行一把锁:
42
42
 
43
43
  - `LOCK-...` 在本集唯一,与 `IMG-...`、`REF-...`、`SHOT-...` 互不混用;
44
- - `镜头:` 写 `全集` 或 `、` 分隔的 `SHOT-...` 列表,两者不能混写;
44
+ - `镜头:` 写 `入画`、`全集` 或 `、` 分隔的 `SHOT-...` 列表,三者不能混写。`入画` 指「视觉依据」列出本条目的所有镜头,
45
+ 资产阶段还没有分镜时就能写;锁的是服装、发型这类只在部分景别里看得见的事实时,把锁写在对应的 `造型` 条目下,
46
+ 只拍脸的镜头不列这个造型,就不会被迫带上锁面;
45
47
  - `;图片提示词项:` 可选,写 `、` 分隔的 `IMG-...` 列表;
46
48
  - `· 锁面:` 之后是被逐字带走的最小名词短语,用项目提示词语言写,不含标点、动作和剧情。
47
49
 
@@ -59,12 +61,12 @@
59
61
  - 目的:先让观众看见他不敢进门,再揭示门内争吵。
60
62
  - 景别/机位:中近景,门框外侧,轻微低机位。
61
63
  - 运镜:固定;他收手的那一下要自己被看见,机位不抢。
62
- - 起点:江辰右手悬在门把上方。
63
- - 唯一动作:门内玻璃落地声触发江辰收回右手,视线从门把转向门缝。
64
- - 终点:江辰右手垂回身侧,视线落在门缝。
65
- - 图片提示词项:IMG-JIANGCHEN-SHEET《江辰角色板》(控制:身份、体态、本集造型);IMG-CORRIDOR-NIGHT《夜间走廊场景板》(控制:空间地理、门位、光向)。
66
- - 输入参考图:无(待补参考图:江辰本集造型、夜间走廊地理、本镜起始帧)。
67
- - 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、体态、本集造型);地点「旧走廊」(控制:空间地理、出入口、光向)。
64
+ - 起点:许棠右手悬在门把上方。
65
+ - 唯一动作:门内玻璃落地声触发许棠收回右手,视线从门把转向门缝。
66
+ - 终点:许棠右手垂回身侧,视线落在门缝。
67
+ - 图片提示词项:IMG-XUTANG-SHEET《许棠角色板》(控制:身份、体态、本集造型);IMG-CORRIDOR-NIGHT《夜间走廊场景板》(控制:空间地理、门位、光向)。
68
+ - 输入参考图:无(创作者已明确选择文生视频)。
69
+ - 视觉依据:《视觉设定.md》·人物「许棠」(控制:身份、体态、本集造型);地点「旧走廊」(控制:空间地理、出入口、光向)。
68
70
 
69
71
  ### 冻结关键帧提示词
70
72
  > 按项目提示词语言编写的冻结瞬间正文……
@@ -75,6 +77,17 @@
75
77
  只写有镜头职责的镜头。关键帧提示词必须与该镜“起点”一致;终点才出现的文字、动作或状态不得
76
78
  提前进入静帧,也不要把整段动作塞进静帧。
77
79
 
80
+ 一场戏拍成多镜时,在第一个 `SHOT-...` 之前为它写一段「场景站位」,镜头只写相对它的变化。
81
+ 位置写场景锚点和人物关系,视线写看向谁或什么;冻结关键帧和视频提示词再按本镜机位写前后景、朝向和画面左右:
82
+
83
+ ```markdown
84
+ ## 场景站位 · EP001-SC001 · 旧走廊
85
+ - 固定锚点:走廊一端是江家的门,另一端是楼梯口;顶灯在门前
86
+ - 人物:许棠站在门外,面对门,背对楼梯口
87
+ - 轴线:许棠 ↔ 门;working side:楼梯口一侧
88
+ - 变化:无
89
+ ```
90
+
78
91
  三类依据不得混用:
79
92
 
80
93
  - **图片提示词项**:《图片提示词.md》中可见二级标题的 `IMG-...` 条目,只证明提示词存在;
@@ -85,7 +98,7 @@
85
98
  按成稿画面逐项回填,语法固定:
86
99
 
87
100
  ```markdown
88
- - 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、造型);地点「旧走廊」(控制:空间地理、出入口、光向)。
101
+ - 视觉依据:《视觉设定.md》·人物「许棠」(控制:身份、造型);地点「旧走廊」(控制:空间地理、出入口、光向)。
89
102
  ```
90
103
 
91
104
  - `《视觉设定.md》·` 只写一次,条目之间用 `;` 连接,条目名称必须能在《视觉设定.md》里找到同名标题;
@@ -143,8 +156,8 @@ PLAN-<slot>(顺序:<n>)· <IMG-... 或 SHOT-...>《<中文名称>》(用
143
156
 
144
157
  ```markdown
145
158
  - 图片提示词项:无
146
- - 输入参考图:无(待补参考图:江辰身份、旧走廊地理、本镜起始帧)
147
- - 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、造型);地点「旧走廊」(控制:空间地理、出入口、光向)。
159
+ - 输入参考图:无(待补参考图:许棠身份、旧走廊地理、本镜起始帧)
160
+ - 视觉依据:《视觉设定.md》·人物「许棠」(控制:身份、造型);地点「旧走廊」(控制:空间地理、出入口、光向)。
148
161
  ```
149
162
 
150
163
  提示词条目和真实图片是独立的:有 `IMG-...` 条目时,「输入参考图」可以仍为「无」;创作者给了
@@ -152,30 +165,30 @@ PLAN-<slot>(顺序:<n>)· <IMG-... 或 SHOT-...>《<中文名称>》(用
152
165
 
153
166
  ```markdown
154
167
  - 图片提示词项:无
155
- - 输入参考图:REF-JIANGCHEN-LOOK(顺序:1)· 输入/参考图/江辰定妆.jpg《江辰定妆照》(用途:造型状态;控制:本集造型、面料质感;不得控制:镜头构图、动作、表情)
156
- - 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、体态)。
168
+ - 输入参考图:REF-XUTANG-LOOK(顺序:1)· 输入/参考图/许棠定妆.jpg《许棠定妆照》(用途:造型状态;控制:本集造型、面料质感;不得控制:镜头构图、动作、表情)
169
+ - 视觉依据:《视觉设定.md》·人物「许棠」(控制:身份、体态)。
157
170
  ```
158
171
 
159
172
  只准备了一部分时,已核对的图不丢弃,但必须把缺口留在同一字段中:
160
173
 
161
174
  ```markdown
162
- - 输入参考图:REF-JIANGCHEN-LOOK(顺序:1)· 输入/参考图/江辰定妆.jpg《江辰定妆照》(用途:身份;控制:脸型、体态、本集造型;不得控制:场景地理、构图、动作);待补参考图:夜间走廊地理、本镜起始帧
175
+ - 输入参考图:REF-XUTANG-LOOK(顺序:1)· 输入/参考图/许棠定妆.jpg《许棠定妆照》(用途:身份;控制:脸型、体态、本集造型;不得控制:场景地理、构图、动作);待补参考图:夜间走廊地理、本镜起始帧
163
176
  ```
164
177
 
165
178
  创作者在自己的工具里出图时,本镜要挂哪几张、按什么次序挂,写成 `PLAN-...`:
166
179
 
167
180
  ```markdown
168
- - 图片提示词项:IMG-JIANGCHEN-SHEET《江辰角色板》(控制:身份、体态)
169
- - 输入参考图:PLAN-SHOT-START(顺序:1)· SHOT-EP001-001《本镜冻结关键帧》(用途:起始帧;控制:起始构图、站位;不得控制:尚未发生的动作、终态);PLAN-JIANGCHEN(顺序:2)· IMG-JIANGCHEN-SHEET《江辰角色板》(用途:身份;控制:脸型、体态、本集造型;不得控制:构图、动作、表情)
170
- - 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、体态);地点「旧走廊」(控制:空间地理、出入口)。
181
+ - 图片提示词项:IMG-XUTANG-SHEET《许棠角色板》(控制:身份、体态)
182
+ - 输入参考图:PLAN-SHOT-START(顺序:1)· SHOT-EP001-001《本镜冻结关键帧》(用途:起始帧;控制:起始构图、站位;不得控制:尚未发生的动作、终态);PLAN-XUTANG(顺序:2)· IMG-XUTANG-SHEET《许棠角色板》(用途:身份;控制:脸型、体态、本集造型;不得控制:构图、动作、表情)
183
+ - 视觉依据:《视觉设定.md》·人物「许棠」(控制:身份、体态);地点「旧走廊」(控制:空间地理、出入口)。
171
184
  ```
172
185
 
173
186
  两者也可同时存在,但各用各的定位符:
174
187
 
175
188
  ```markdown
176
- - 图片提示词项:IMG-JIANGCHEN-SHEET《江辰角色板》(控制:身份、体态)
189
+ - 图片提示词项:IMG-XUTANG-SHEET《许棠角色板》(控制:身份、体态)
177
190
  - 输入参考图:REF-CORRIDOR-COMPOSITION(顺序:1)· 输入/参考图/走廊构图.jpg《走廊构图参考》(用途:构图;控制:占画比例、留白;不得控制:人物身份、动作、剧情事件)
178
- - 视觉依据:《视觉设定.md》·人物「江辰」(控制:身份、体态);地点「旧走廊」(控制:空间地理、出入口)。
191
+ - 视觉依据:《视觉设定.md》·人物「许棠」(控制:身份、体态);地点「旧走廊」(控制:空间地理、出入口)。
179
192
  ```
180
193
 
181
194
  ## `图片提示词.md`
@@ -185,7 +198,7 @@ PLAN-<slot>(顺序:<n>)· <IMG-... 或 SHOT-...>《<中文名称>》(用
185
198
  这里的 `IMG-...` 是提示词条目 ID,不是已生成图片的记录。
186
199
 
187
200
  ```markdown
188
- ## IMG-JIANGCHEN-SHEET · 江辰角色板
201
+ ## IMG-XUTANG-SHEET · 许棠角色板
189
202
  - 用途:锁定身份、体态和本集造型。
190
203
  - 参考:无;若有真实参考图,使用与分镜相同的完整 `REF-...` 格式,说明顺序、项目相对路径、中文名称、用途、控制与不得控制范围。
191
204
 
@@ -215,7 +228,7 @@ caption 和对白文字叠加,不能只写抽象的“文字层为空”,让
215
228
  - 生成方式:文生视频
216
229
  - 输入参考图:无(创作者已明确选择文生视频)。
217
230
  - 静态视觉锚点:A lean young East Asian man in a dark-grey worn suit stands outside an old corridor door under cold overhead light.
218
- - 起始帧:SHOT-EP001-001 的冻结关键帧
231
+ - 起始帧:许棠右手悬在门把上方,视线落在门把上。
219
232
  - 状态链:右手悬在门把上方 → 门内玻璃落地触发他收回右手并转移视线 → 右手收回,视线落到门缝
220
233
  - 终点:右手收回;门内玻璃落地;人物视线转向门缝。
221
234
 
@@ -226,10 +239,25 @@ caption 和对白文字叠加,不能只写抽象的“文字层为空”,让
226
239
  有真实输入图时改用「生成方式:图生视频」,并原样携带分镜的完整 REF 声明;静态视觉锚点只写
227
240
  执行动作所需、且不能仅靠参考图用途推断的可见起点,不把路径或 REF ID 放进可复制正文。
228
241
 
242
+ 几个相邻镜头装进一次生成(多镜容器)时,另写一个 `GROUP-...` 条目,它的可复制提示词就是真正提交的
243
+ 那一条;逐镜 `MOTION-...` 照写,作为成员依据。`GROUP-...` 可以写在文档任何位置:
244
+
245
+ ```markdown
246
+ ## GROUP-EP001-01 · 门外到门内
247
+ - 成员:MOTION-EP001-001、MOTION-EP001-002
248
+ - 时长:8s
249
+ - 理由:同场连续,同一走廊地理与人物造型
250
+
251
+ ### 可复制提示词
252
+ > 镜头1:…… 镜头2:……
253
+ ```
254
+
255
+ 检查器核对成员相邻、同场、时长等于成员之和、一个镜头只进一个分组,以及分组正文的引文与锁面。
256
+
229
257
  ## 共通规则
230
258
 
231
259
  - 提示词正文必须可直接复制,不放占位符、流程备注或 QA 结论。
232
260
  - `### 可复制提示词` 下的引用块是**一条**提示词:从第一行到最后一行整段复制进那一次生成。方言把它分成 `subject_definitions` / `overall_soundscape` 这类段落时,段落仍属于同一条正文,不是分几次提交,也不是只交第一段。
233
261
  - 引用使用文档里看得见的场景/镜头/提示词 ID;不写文件哈希和内部路径。
234
262
  - 用户没要求的字段不为“完整”而补造。
235
- - 五份文档齐备后,完成或修订时运行 `python3 {技能目录}/scripts/creator_markdown_check.py 剧集/<EP> --project-root .`,核对跨文档结构。检查器缺任一文件即返回缺文件;局部任务只核对当前已有文档,不为运行检查补造其余文件。内容质量仍由创作者审查。
263
+ - 每完成或修订一份文档就运行 `python3 {技能目录}/scripts/creator_markdown_check.py 剧集/<EP> --project-root . --partial`,只核对已有的文档;缺的文档相关的规则跳过,不算通过也不算失败,不为运行检查补造文件。五份齐备后去掉 `--partial` 做完整核对,缺任一文件即报缺。内容质量仍由创作者审查。
@@ -6,7 +6,7 @@
6
6
 
7
7
  1. 它的稳定槽位和显式顺序是什么:项目内图片用 `REF-...`,项目外由创作者自行挂载的图用 `PLAN-...`;
8
8
  2. 它的可见定位符和中文名称是什么:图片在项目里时写项目相对路径,例如
9
- `输入/参考图/江辰定妆.jpg《江辰定妆照》`;图片由创作者在项目外准备并在生成时自行挂载时,
9
+ `输入/参考图/许棠定妆.jpg《许棠定妆照》`;图片由创作者在项目外准备并在生成时自行挂载时,
10
10
  写它对应的 `IMG-...` 板子或 `SHOT-...` 冻结关键帧;
11
11
  3. 本次参考身份、造型状态、地理、构图、尺度、效果、起始帧、结束帧还是风格;
12
12
  4. 哪些可见内容允许照着写;