@oh-story/dsh 0.1.12 → 0.1.13

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 (264) hide show
  1. package/README.md +17 -11
  2. package/lib/client.js +85 -35
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/manifest.json +41 -36
  5. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +340 -13
  6. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +4 -2
  7. package/lib/drama/skills/short-drama-edit/SKILL.md +32 -12
  8. package/lib/drama/skills/short-drama-edit/references/still-cuts.md +90 -0
  9. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1035 -145
  10. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +48 -0
  11. package/lib/drama/skills/short-drama-produce/SKILL.md +6 -1
  12. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +12 -0
  13. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +138 -9
  14. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +6 -0
  15. package/lib/drama/skills/short-drama-storyboard/SKILL.md +2 -0
  16. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +3 -1
  17. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +7 -0
  18. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +14 -0
  19. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +19 -6
  20. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +1 -0
  21. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +5 -0
  22. package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +4 -1
  23. package/lib/index.js +16 -7
  24. package/lib/index.js.map +2 -2
  25. package/lib/novel-to-game/README.md +98 -44
  26. package/lib/novel-to-game/README_ZH.md +100 -46
  27. package/lib/novel-to-game/VERSION +1 -1
  28. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +27 -202
  29. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +23 -115
  30. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/chamber.webp +0 -0
  31. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/court_night.webp +0 -0
  32. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/court_rain.webp +0 -0
  33. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/garden.webp +0 -0
  34. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/hall.webp +0 -0
  35. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/kitchen.webp +0 -0
  36. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/street.webp +0 -0
  37. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/street_dawn.webp +0 -0
  38. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/temple.webp +0 -0
  39. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/moon.webp +0 -0
  40. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/meng/angry.webp +0 -0
  41. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/meng/blush.webp +0 -0
  42. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/meng/neutral.webp +0 -0
  43. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/meng/sad.webp +0 -0
  44. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/meng/smile.webp +0 -0
  45. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/meng/surprised.webp +0 -0
  46. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pan/angry.webp +0 -0
  47. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pan/blush.webp +0 -0
  48. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pan/neutral.webp +0 -0
  49. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pan/sad.webp +0 -0
  50. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pan/smile.webp +0 -0
  51. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pan/surprised.webp +0 -0
  52. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pinger/angry.webp +0 -0
  53. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pinger/blush.webp +0 -0
  54. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pinger/neutral.webp +0 -0
  55. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pinger/sad.webp +0 -0
  56. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pinger/smile.webp +0 -0
  57. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/pinger/surprised.webp +0 -0
  58. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/xuee/angry.webp +0 -0
  59. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/xuee/blush.webp +0 -0
  60. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/xuee/neutral.webp +0 -0
  61. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/xuee/sad.webp +0 -0
  62. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/xuee/smile.webp +0 -0
  63. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/xuee/surprised.webp +0 -0
  64. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/yue/angry.webp +0 -0
  65. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/yue/blush.webp +0 -0
  66. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/yue/neutral.webp +0 -0
  67. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/yue/sad.webp +0 -0
  68. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/yue/smile.webp +0 -0
  69. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/sprite/yue/surprised.webp +0 -0
  70. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +326 -2503
  71. package/lib/novel-to-game/examples/jin-ping-mei/build/app/index.html +71 -4
  72. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/adv.js +221 -0
  73. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/audio.js +113 -257
  74. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +511 -3026
  75. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/menus.js +277 -0
  76. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/petals.js +67 -0
  77. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/stage.js +180 -0
  78. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/store.js +70 -0
  79. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/common.js +198 -0
  80. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/common2.js +204 -0
  81. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/common3.js +198 -0
  82. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/dates.js +186 -0
  83. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/index.js +122 -0
  84. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/meng.js +190 -0
  85. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/pan.js +212 -0
  86. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/pinger.js +198 -0
  87. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/xuee.js +199 -0
  88. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/story/yue.js +214 -0
  89. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -2
  90. package/lib/novel-to-game/examples/jin-ping-mei/build/art/generated-art.json +182 -45
  91. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +7 -17
  92. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +9 -9
  93. package/lib/novel-to-game/manifest.json +303 -78
  94. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +7 -2
  95. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +2 -0
  96. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +2 -0
  97. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +9 -0
  98. package/lib/types/client/drama-production-view.d.ts +11 -0
  99. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  100. package/lib/types/client/file-activity.d.ts +1 -1
  101. package/lib/types/client/file-activity.d.ts.map +1 -1
  102. package/lib/types/client/production-prompts.d.ts +7 -1
  103. package/lib/types/client/production-prompts.d.ts.map +1 -1
  104. package/lib/types/client/production-runtime.d.ts +7 -2
  105. package/lib/types/client/production-runtime.d.ts.map +1 -1
  106. package/lib/types/drama-adapters.d.ts.map +1 -1
  107. package/lib/types/skill-provider.d.ts.map +1 -1
  108. package/lib/types/video-project.d.ts.map +1 -1
  109. package/lib/video-recap/CHANGELOG.md +108 -1
  110. package/lib/video-recap/README.en.md +18 -14
  111. package/lib/video-recap/README.md +18 -14
  112. package/lib/video-recap/manifest.json +297 -321
  113. package/lib/video-recap/skills/video-assemble/SKILL.md +18 -16
  114. package/lib/video-recap/skills/video-assemble/references/explicit-audio-mix.md +3 -1
  115. package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +5 -5
  116. package/lib/video-recap/skills/video-assemble/references/packaging.md +4 -4
  117. package/lib/video-recap/skills/video-assemble/references/subtitle-track.md +10 -10
  118. package/lib/video-recap/skills/video-assemble/scripts/adoption/audio_mix_binding.py +13 -2
  119. package/lib/video-recap/skills/video-assemble/scripts/adoption/av_clock.py +109 -0
  120. package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_publish.py +4 -1
  121. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +2 -9
  122. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +188 -51
  123. package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +0 -1
  124. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +32 -75
  125. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +8 -15
  126. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +202 -161
  127. package/lib/video-recap/skills/video-assemble/scripts/codec_peak.py +112 -0
  128. package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +10 -101
  129. package/lib/video-recap/skills/video-assemble/scripts/jianying/builders.py +44 -475
  130. package/lib/video-recap/skills/video-assemble/scripts/jianying/model.py +1 -22
  131. package/lib/video-recap/skills/video-assemble/scripts/jianying/templates.py +0 -3
  132. package/lib/video-recap/skills/video-assemble/scripts/jianying/timeline_contract.py +36 -103
  133. package/lib/video-recap/skills/video-assemble/scripts/jianying/tracks.py +0 -8
  134. package/lib/video-recap/skills/video-assemble/scripts/jianying/writer.py +28 -203
  135. package/lib/video-recap/skills/video-assemble/scripts/lib.py +20 -34
  136. package/lib/video-recap/skills/video-assemble/scripts/loudness.py +332 -0
  137. package/lib/video-recap/skills/video-assemble/scripts/media.py +158 -38
  138. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +30 -16
  139. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +49 -8
  140. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +17 -6
  141. package/lib/video-recap/skills/video-assemble/scripts/subtitles/core.py +24 -2
  142. package/lib/video-recap/skills/video-assemble/scripts/subtitles/track.py +2 -5
  143. package/lib/video-recap/skills/video-assemble/scripts/subtitles/track_binding.py +2 -9
  144. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +12 -34
  145. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +3 -4
  146. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +28 -2
  147. package/lib/video-recap/skills/video-cut/SKILL.md +37 -11
  148. package/lib/video-recap/skills/video-cut/references/shot-review.md +1 -1
  149. package/lib/video-recap/skills/video-cut/scripts/cut.py +2 -34
  150. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +96 -124
  151. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +97 -182
  152. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +177 -166
  153. package/lib/video-recap/skills/video-cut/scripts/frame_grid.py +249 -0
  154. package/lib/video-recap/skills/video-cut/scripts/lib.py +0 -3
  155. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +173 -7
  156. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +234 -151
  157. package/lib/video-recap/skills/video-cut/scripts/sentence_gate.py +189 -0
  158. package/lib/video-recap/skills/video-cut/scripts/shot_review.py +2 -6
  159. package/lib/video-recap/skills/video-recap/SKILL.md +24 -27
  160. package/lib/video-recap/skills/video-recap/references/audio-routing.md +8 -6
  161. package/lib/video-recap/skills/video-recap/references/config-playbook.md +8 -11
  162. package/lib/video-recap/skills/video-recap/references/data-schema.md +131 -74
  163. package/lib/video-recap/skills/video-recap/references/resource-library.md +17 -1
  164. package/lib/video-recap/skills/video-recap/scripts/doctor.py +51 -268
  165. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +89 -254
  166. package/lib/video-recap/skills/video-recap/scripts/lib.py +81 -70
  167. package/lib/video-recap/skills/video-recap/scripts/library.py +40 -4
  168. package/lib/video-recap/skills/video-recap/scripts/materials.py +13 -80
  169. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +49 -17
  170. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +1 -3
  171. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +86 -116
  172. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +87 -23
  173. package/lib/video-recap/skills/video-recap/scripts/recap_source.py +0 -39
  174. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +37 -135
  175. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +118 -127
  176. package/lib/video-recap/skills/video-recap/scripts/resources/__init__.py +4 -0
  177. package/lib/video-recap/skills/video-recap/scripts/{resource_lock.py → resources/lock.py} +1 -1
  178. package/lib/video-recap/skills/video-recap/scripts/{project_binding.py → resources/project_binding.py} +78 -17
  179. package/lib/video-recap/skills/video-reference/SKILL.md +108 -0
  180. package/lib/video-recap/skills/video-reference/references/reference-schema.md +139 -0
  181. package/lib/video-recap/skills/video-reference/scripts/lib.py +85 -0
  182. package/lib/video-recap/skills/video-reference/scripts/reference.py +96 -0
  183. package/lib/video-recap/skills/video-reference/scripts/reference_check.py +553 -0
  184. package/lib/video-recap/skills/video-reference/scripts/reference_frames.py +122 -0
  185. package/lib/video-recap/skills/video-reference/scripts/reference_measure.py +253 -0
  186. package/lib/video-recap/skills/video-reference/scripts/reference_profile.py +271 -0
  187. package/lib/video-recap/skills/video-script/SKILL.md +9 -7
  188. package/lib/video-recap/skills/video-script/scripts/agent_text.py +18 -267
  189. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +12 -30
  190. package/lib/video-recap/skills/video-script/scripts/entry_suggestion.py +125 -0
  191. package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +2 -26
  192. package/lib/video-recap/skills/video-script/scripts/lib.py +5 -15
  193. package/lib/video-recap/skills/video-script/scripts/lint_summary.py +184 -0
  194. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +120 -100
  195. package/lib/video-recap/skills/video-script/scripts/review.py +3 -34
  196. package/lib/video-recap/skills/video-script/scripts/review_grounding.py +20 -46
  197. package/lib/video-recap/skills/video-script/scripts/review_response.py +120 -258
  198. package/lib/video-recap/skills/video-script/scripts/review_runner.py +2 -10
  199. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +89 -5
  200. package/lib/video-recap/skills/video-script/scripts/validate.py +26 -34
  201. package/lib/video-recap/skills/video-understanding/SKILL.md +29 -4
  202. package/lib/video-recap/skills/video-understanding/references/data-schema.md +5 -22
  203. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +24 -121
  204. package/lib/video-recap/skills/video-understanding/scripts/asr.py +11 -5
  205. package/lib/video-recap/skills/video-understanding/scripts/asr_timing_evidence.py +15 -24
  206. package/lib/video-recap/skills/video-understanding/scripts/briefing/builder.py +59 -25
  207. package/lib/video-recap/skills/video-understanding/scripts/briefing/context.py +39 -3
  208. package/lib/video-recap/skills/video-understanding/scripts/briefing/inputs.py +15 -27
  209. package/lib/video-recap/skills/video-understanding/scripts/briefing/timeline.py +136 -37
  210. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +121 -37
  211. package/lib/video-recap/skills/video-understanding/scripts/detect.py +118 -16
  212. package/lib/video-recap/skills/video-understanding/scripts/index_normalize.py +359 -0
  213. package/lib/video-recap/skills/video-understanding/scripts/lib.py +62 -21
  214. package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +181 -51
  215. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +0 -26
  216. package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +37 -14
  217. package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +40 -32
  218. package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +100 -127
  219. package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +182 -30
  220. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +30 -27
  221. package/lib/video-recap/skills/video-voiceover/SKILL.md +19 -12
  222. package/lib/video-recap/skills/video-voiceover/references/index-tts.md +3 -3
  223. package/lib/video-recap/skills/video-voiceover/scripts/approved_text_policy.py +3 -1
  224. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +60 -135
  225. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +9 -34
  226. package/lib/video-recap/skills/video-voiceover/scripts/providers/fish_audio.py +6 -1
  227. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +64 -1
  228. package/lib/video-recap/skills/video-voiceover/scripts/tts_cache.py +99 -0
  229. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +177 -200
  230. package/package.json +45 -45
  231. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp +0 -0
  232. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp +0 -0
  233. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp +0 -0
  234. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +0 -1494
  235. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/assets.js +0 -147
  236. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +0 -7470
  237. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +0 -13066
  238. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +0 -32
  239. package/lib/novel-to-game/examples/jin-ping-mei/qa/playable-model.json +0 -99
  240. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +0 -152
  241. package/lib/video-recap/skills/video-assemble/references/foreground-compose.md +0 -118
  242. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_segment.json +0 -84
  243. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_video_material.json +0 -98
  244. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_draft.json +0 -204
  245. package/lib/video-recap/skills/video-assemble/references/pair-media.md +0 -74
  246. package/lib/video-recap/skills/video-assemble/scripts/compose_foreground.py +0 -293
  247. package/lib/video-recap/skills/video-assemble/scripts/pair_media.py +0 -216
  248. package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +0 -23
  249. package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +0 -33
  250. package/lib/video-recap/skills/video-recap/scripts/qc/__init__.py +0 -1
  251. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_client.py +0 -13
  252. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_contract.py +0 -9
  253. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_evidence.py +0 -287
  254. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_observations.py +0 -175
  255. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_payload.py +0 -206
  256. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_report.py +0 -318
  257. package/lib/video-recap/skills/video-recap/scripts/qc/mimo_runner.py +0 -130
  258. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +0 -320
  259. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +0 -108
  260. package/lib/video-recap/skills/video-understanding/scripts/brief.py +0 -9
  261. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +0 -211
  262. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +0 -707
  263. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +0 -143
  264. /package/lib/video-recap/skills/video-cut/scripts/{narration_mapping.py → cut_qc.py} +0 -0
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "upstream": {
4
- "repository": "git@github.com:zenstory-ai/novel-to-game.git",
5
- "commit": "d76cdca5b54edbdb15ef5ce7618a83b281415d21",
6
- "releaseVersion": "0.4.0"
4
+ "repository": "https://github.com/zenstory-ai/novel-to-game.git",
5
+ "commit": "e2695b720591335321738039b869f418593b1985",
6
+ "releaseVersion": "0.5.0"
7
7
  },
8
- "generatedAt": "2026-09-26T03:09:39.852Z",
8
+ "generatedAt": "2026-10-03T14:32:39.565Z",
9
9
  "skills": [
10
10
  "game-art-direction",
11
11
  "game-build",
@@ -26,23 +26,23 @@
26
26
  },
27
27
  {
28
28
  "path": "README.md",
29
- "sha256": "939379f784d7ea4329383b39e38a5c7aff68da2d451e5f3faf3a5447a3925f26",
30
- "bytes": 32641
29
+ "sha256": "b8fa61a8ad38c58d8074aa40f3039107cfd13537cd551a535fc27e328da5b1ef",
30
+ "bytes": 38659
31
31
  },
32
32
  {
33
33
  "path": "README_ZH.md",
34
- "sha256": "d15c64cd77b6c4897dee29e8341784eafde14a8b14faad32a1c8a8c6cf89d66a",
35
- "bytes": 29098
34
+ "sha256": "068853d6beb986a8ae18a9bbfa91e433cdac16fd35d25e4dfab1db3e66e0dc89",
35
+ "bytes": 34757
36
36
  },
37
37
  {
38
38
  "path": "VERSION",
39
- "sha256": "40b8eb4000a913a7791090535f291d3d369874162a89ef3c9e3d4e887a1b9e79",
39
+ "sha256": "a0ad50640139a524f86591157145bf1d4674ea9c065bfea21558f0f7b04430c8",
40
40
  "bytes": 6
41
41
  },
42
42
  {
43
43
  "path": "examples/jin-ping-mei/build/BUILD_BRIEF.md",
44
- "sha256": "9afc9482c71a23b31740d1cf3b79b5803317e1d6374e5f4c6f179edeea87b10f",
45
- "bytes": 69720
44
+ "sha256": "ae93c757143d37375018ae2ab5d437fd431c7eb23a1f4626a2814b96bbc2e339",
45
+ "bytes": 2403
46
46
  },
47
47
  {
48
48
  "path": "examples/jin-ping-mei/build/app/.gitignore",
@@ -56,14 +56,59 @@
56
56
  },
57
57
  {
58
58
  "path": "examples/jin-ping-mei/build/app/RUN.md",
59
- "sha256": "9d659095dea9a1797d914452bc18cee31e166247378c9c9c3d1725aaa2c99be6",
60
- "bytes": 27936
59
+ "sha256": "991d4208a67d05594c37286575f90109abfa29870ab47f1fac27963560c876ce",
60
+ "bytes": 2102
61
+ },
62
+ {
63
+ "path": "examples/jin-ping-mei/build/app/assets/bg/chamber.webp",
64
+ "sha256": "35a721772a2511c68b6b22faf35c3fae9bafc87f257751a1b0c05b20373d376e",
65
+ "bytes": 159850
61
66
  },
62
67
  {
63
68
  "path": "examples/jin-ping-mei/build/app/assets/bg/compound_new_guofeng.webp",
64
69
  "sha256": "e7d2cc8c4478184480a141e5e4ebfd16a134e219f6aa82a9166b6262fcaeec55",
65
70
  "bytes": 443276
66
71
  },
72
+ {
73
+ "path": "examples/jin-ping-mei/build/app/assets/bg/court_night.webp",
74
+ "sha256": "cf17e668ab1f7855ed73fd3242a383fdad58eb7d4ae442b651de783b24cfe6bf",
75
+ "bytes": 323002
76
+ },
77
+ {
78
+ "path": "examples/jin-ping-mei/build/app/assets/bg/court_rain.webp",
79
+ "sha256": "e38047f3e81e4c535e182da1e5cb5ada9869b50002cacc11e50c36ea2d84cd1b",
80
+ "bytes": 354574
81
+ },
82
+ {
83
+ "path": "examples/jin-ping-mei/build/app/assets/bg/garden.webp",
84
+ "sha256": "0f69555edead74fffb962bd815ebaa3aa0a8919f5f396676a80e1c09f5c75695",
85
+ "bytes": 359918
86
+ },
87
+ {
88
+ "path": "examples/jin-ping-mei/build/app/assets/bg/hall.webp",
89
+ "sha256": "43943ad228cbb76f7530a2fd8a58f6f174dc7e1d8ed69b00b2ecbd52075fea6e",
90
+ "bytes": 214124
91
+ },
92
+ {
93
+ "path": "examples/jin-ping-mei/build/app/assets/bg/kitchen.webp",
94
+ "sha256": "fc88a67c331ad810e9076a5d39a28ecd3fbf5fa7de905d557167aed014899805",
95
+ "bytes": 180332
96
+ },
97
+ {
98
+ "path": "examples/jin-ping-mei/build/app/assets/bg/street.webp",
99
+ "sha256": "fb8040561e5f5a55360045cbe08f8fdc8aada9b6609352c4bc18e5deffc9a01b",
100
+ "bytes": 324252
101
+ },
102
+ {
103
+ "path": "examples/jin-ping-mei/build/app/assets/bg/street_dawn.webp",
104
+ "sha256": "fe3d05596a76bc6e619dfb3dd957509dbf2fd3aaa9a95109a69f44e880c21677",
105
+ "bytes": 352794
106
+ },
107
+ {
108
+ "path": "examples/jin-ping-mei/build/app/assets/bg/temple.webp",
109
+ "sha256": "642c9288a85abaaed97276ba9563e7fff9376d8e96039ccf12ef028b5a2e3848",
110
+ "bytes": 393698
111
+ },
67
112
  {
68
113
  "path": "examples/jin-ping-mei/build/app/assets/cg/finale/fate_coda.webp",
69
114
  "sha256": "6691f9bee9125e4686a17347ebe45ba2f06ca6abf4cf7bcb204f453969a39176",
@@ -94,11 +139,6 @@
94
139
  "sha256": "e815bbc4a60e46e9d75abddbb29ff7fe42cf8ca92e95e6978cf4c6383e5129f8",
95
140
  "bytes": 234878
96
141
  },
97
- {
98
- "path": "examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp",
99
- "sha256": "bc3964da2ebfda942027b2f1b9d0e2090f0b3b3f32683f7376cab3ce4d4e131d",
100
- "bytes": 259688
101
- },
102
142
  {
103
143
  "path": "examples/jin-ping-mei/build/app/assets/cg/group/inner_court_afterglow_five.webp",
104
144
  "sha256": "75fef2b554d0c59cd01eb8e7bfbd82c004d7b8f80a94c1f39ffc3f32285fae2a",
@@ -114,11 +154,6 @@
114
154
  "sha256": "b110170996d407651e91fe76a31a93bf555fb9bd659e8b62c40165cdbf653ead",
115
155
  "bytes": 347128
116
156
  },
117
- {
118
- "path": "examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp",
119
- "sha256": "2cb9ca04caf924bfdebc6c7d3805c93e36b0d09e2a90ac3c3856dff977dee4d0",
120
- "bytes": 320852
121
- },
122
157
  {
123
158
  "path": "examples/jin-ping-mei/build/app/assets/cg/group/public_day5.webp",
124
159
  "sha256": "93b166c839e9c25398b0790f3d5821d8b85878395d5f1881aeff269a0bac523e",
@@ -224,6 +259,11 @@
224
259
  "sha256": "3b8b34b954a4c47b0990584ef94110e23b26880ed62e3503110195a10868e718",
225
260
  "bytes": 252370
226
261
  },
262
+ {
263
+ "path": "examples/jin-ping-mei/build/app/assets/cg/yue/moon.webp",
264
+ "sha256": "0db74a97526e0917d3f1e62ab298864373451a76bab1aded2f21467fd9a32d81",
265
+ "bytes": 222758
266
+ },
227
267
  {
228
268
  "path": "examples/jin-ping-mei/build/app/assets/cg/yue/prelude.webp",
229
269
  "sha256": "9ec61854e37169ba2b4e7176b47819c206032d89b665c22fe1a0a6d2467932c8",
@@ -254,65 +294,260 @@
254
294
  "sha256": "5f9dd4ad1e7bf7c91643d0f519bdbf90b158d06c7ea6b3db6bb1d10032d44803",
255
295
  "bytes": 213484
256
296
  },
257
- {
258
- "path": "examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp",
259
- "sha256": "80bd68bd177d60a551d847d16923a24757275a74d689b1dcf4cf269372c2a652",
260
- "bytes": 207098
261
- },
262
297
  {
263
298
  "path": "examples/jin-ping-mei/build/app/assets/scene/gate_collector.webp",
264
299
  "sha256": "e2724ced045e73a4b5621468333593a146c95e5b0e93d776abf458923e2f0fc2",
265
300
  "bytes": 215828
266
301
  },
267
302
  {
268
- "path": "examples/jin-ping-mei/build/app/css/new-guofeng.css",
269
- "sha256": "dca6d501d0570f0ddbb8f61a8010b5f21ed921878ae6b62db66c1636baa821fe",
270
- "bytes": 45891
303
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/meng/angry.webp",
304
+ "sha256": "39fb0651db7cbe7d8544014d9e11e850f57a57db74ece75c47de534c7520ff2a",
305
+ "bytes": 154386
306
+ },
307
+ {
308
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/meng/blush.webp",
309
+ "sha256": "93a7b854b98d1ff8d09efe66d1f46cf6bc4f572df11d86f310076bc766a94839",
310
+ "bytes": 156732
311
+ },
312
+ {
313
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/meng/neutral.webp",
314
+ "sha256": "26fda51b90aa702b9ab5ba3d69d1013f7a5c9854a663713a27b43dcb72977683",
315
+ "bytes": 215404
316
+ },
317
+ {
318
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/meng/sad.webp",
319
+ "sha256": "7849a1bef7b4fa3ad31358a635cfd35d8d06d2f789eb46516995485fd90baef6",
320
+ "bytes": 166160
321
+ },
322
+ {
323
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/meng/smile.webp",
324
+ "sha256": "97ab4b28ef62e0502d24de5d2535640a02f54bf496481dfc408c52a12e4cd196",
325
+ "bytes": 163834
326
+ },
327
+ {
328
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/meng/surprised.webp",
329
+ "sha256": "52431574e9dbb31c66d85003f6a01d347cf6b74b5df31366a35c2a3d43ef266f",
330
+ "bytes": 222760
331
+ },
332
+ {
333
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pan/angry.webp",
334
+ "sha256": "f1258f582dcf4ed26cfaad2d7dbce61fce13667435d2add533844e8de69fd111",
335
+ "bytes": 192586
336
+ },
337
+ {
338
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pan/blush.webp",
339
+ "sha256": "4395d0bdb55a8a4a923cd31deb087904f7af7d89a04b29beb0785d08c1c64f85",
340
+ "bytes": 196028
341
+ },
342
+ {
343
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pan/neutral.webp",
344
+ "sha256": "99a62c38520cbdc0d5a14ae2d770df3b78a99010e75f2aacd860e7f303117bab",
345
+ "bytes": 248174
346
+ },
347
+ {
348
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pan/sad.webp",
349
+ "sha256": "f4e876a515b18b79a310ca389b6e574be23f79a9399c7725e904bffc8c44b550",
350
+ "bytes": 203850
351
+ },
352
+ {
353
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pan/smile.webp",
354
+ "sha256": "5e9beb59b8bafd99419a583b0550118fb62c27d693df251b20c8ecae78540b86",
355
+ "bytes": 200958
356
+ },
357
+ {
358
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pan/surprised.webp",
359
+ "sha256": "4b68e48750da9b0f8ab28000ce238822ea9ea9979aae449bcbcc2b90ebe1c943",
360
+ "bytes": 256756
361
+ },
362
+ {
363
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pinger/angry.webp",
364
+ "sha256": "92cf6fd81855514848021d870892107036f31e0aa9ead48c5114225aa52e3163",
365
+ "bytes": 176962
366
+ },
367
+ {
368
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pinger/blush.webp",
369
+ "sha256": "fd167afd2c9cd222b48dff843e3c8ffbaba74a004405bad9b5dee9b517ec5fcb",
370
+ "bytes": 175918
371
+ },
372
+ {
373
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pinger/neutral.webp",
374
+ "sha256": "75b8da1811726f228367b68fa0d4f60df471af38f9ce11fad2f4552530f929dc",
375
+ "bytes": 223598
376
+ },
377
+ {
378
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pinger/sad.webp",
379
+ "sha256": "2fdea46a3548d0e0f6f4361d933aaa515a4bcb1ede96912b5c47d9950a8df24e",
380
+ "bytes": 168476
381
+ },
382
+ {
383
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pinger/smile.webp",
384
+ "sha256": "9867fb8999e7832ba12bdf6ee1767bf7848bd06a955b55099b21ce3e5b79881a",
385
+ "bytes": 177980
386
+ },
387
+ {
388
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/pinger/surprised.webp",
389
+ "sha256": "cd92b8d754eb260747b252864c1bac988f95cc9d47a7a2dee30b69b322eb656d",
390
+ "bytes": 230860
391
+ },
392
+ {
393
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/xuee/angry.webp",
394
+ "sha256": "9880fd5a45842e7562330ce13380f6b3a33a534dd3fa7b37127186065d460142",
395
+ "bytes": 157304
396
+ },
397
+ {
398
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/xuee/blush.webp",
399
+ "sha256": "82fa9b3ab93e1d51cd9ac1e65b49d91520087ad239c6437602d7cbef52b92280",
400
+ "bytes": 156526
401
+ },
402
+ {
403
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/xuee/neutral.webp",
404
+ "sha256": "b1a6cade2bb4f2e7b58efd88d091c99a5552520687492e5d63416a67c89a2b1f",
405
+ "bytes": 175434
406
+ },
407
+ {
408
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/xuee/sad.webp",
409
+ "sha256": "d4a70e4e77c9991238ab81abfeaba4d57d52178f4019eb1bd3689764eeed5c23",
410
+ "bytes": 154540
411
+ },
412
+ {
413
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/xuee/smile.webp",
414
+ "sha256": "d13acb857e42658aa8336df90f796c0c459250b5e6f6f60507cf99999bb08e17",
415
+ "bytes": 170578
416
+ },
417
+ {
418
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/xuee/surprised.webp",
419
+ "sha256": "0ddbbd62703055957691cc9801185123c94ce48c2be1cb55333d729f4f71f653",
420
+ "bytes": 180702
421
+ },
422
+ {
423
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/yue/angry.webp",
424
+ "sha256": "ce006abc870cc60ba92b173c71c5b849439bfd10b6d8c0c0770f07918c6d9b27",
425
+ "bytes": 177228
426
+ },
427
+ {
428
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/yue/blush.webp",
429
+ "sha256": "113709ab39a6017e3471cb8e0d01b0bb3f002aa0fab492bbabaca8c282ad905a",
430
+ "bytes": 177378
431
+ },
432
+ {
433
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/yue/neutral.webp",
434
+ "sha256": "2629426fd42281c52caf02b43690a2e13faa19e7b48a37663c7dde7cf84cf7a5",
435
+ "bytes": 220652
436
+ },
437
+ {
438
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/yue/sad.webp",
439
+ "sha256": "ab5c17b672157930635227f35541d3296d73403bd48932c655abe5d49c1d6687",
440
+ "bytes": 175314
441
+ },
442
+ {
443
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/yue/smile.webp",
444
+ "sha256": "4f72060c924e334e30dde44307b3c7de34bd1ac8bb66955205a5cdf2a1c5c174",
445
+ "bytes": 173120
446
+ },
447
+ {
448
+ "path": "examples/jin-ping-mei/build/app/assets/sprite/yue/surprised.webp",
449
+ "sha256": "a0a15b97b30820ef5a9aae6c23ac0d947048db0e44b892217efd68300f008862",
450
+ "bytes": 228056
271
451
  },
272
452
  {
273
453
  "path": "examples/jin-ping-mei/build/app/css/style.css",
274
- "sha256": "ee7f6096c3170aa2cbaf3559abf6819a3eba1cb64eabb22408872b615937e0d6",
275
- "bytes": 238249
454
+ "sha256": "865cf898814a3149fc1f755a52c08acf21349a4e01dd34b76ede5e86a403acf4",
455
+ "bytes": 28611
276
456
  },
277
457
  {
278
458
  "path": "examples/jin-ping-mei/build/app/index.html",
279
- "sha256": "d21adc14ed1f3f46a30113fa6a23a1f15ec1b1a4e622bd9e2f1670b09f62a572",
280
- "bytes": 726
459
+ "sha256": "6f66f2d7e36d6e4ef1862efd2464da3f6a8b841aac5824d727bed2fb9df4ca07",
460
+ "bytes": 3439
281
461
  },
282
462
  {
283
- "path": "examples/jin-ping-mei/build/app/js/assets.js",
284
- "sha256": "81f07ea4bfbc70aa6bb795b33fc17de80a158a536d3ba28d7e7c5cb0803aae90",
285
- "bytes": 7780
463
+ "path": "examples/jin-ping-mei/build/app/js/adv.js",
464
+ "sha256": "3c67762b5d665add85bcf2b8f8a5a8b4d01a0fc18b7c46021ed6e005a6acf90c",
465
+ "bytes": 10443
286
466
  },
287
467
  {
288
468
  "path": "examples/jin-ping-mei/build/app/js/audio.js",
289
- "sha256": "68bf052a442b4ce5c6339b2aa50512036dd37578053a4c712bf213fdb8b32234",
290
- "bytes": 12119
469
+ "sha256": "80be0ddde3e810c25bbfb6b418cdf8dc84c1d558c355b10d92d235e3753253b6",
470
+ "bytes": 8930
291
471
  },
292
472
  {
293
- "path": "examples/jin-ping-mei/build/app/js/data.js",
294
- "sha256": "15a063058268eaa7432f6fe89e602a896e908b93a2f58bd7f0b4d186419d7789",
295
- "bytes": 1108708
473
+ "path": "examples/jin-ping-mei/build/app/js/main.js",
474
+ "sha256": "1a971f5e244f7f03aef96c119707ad0f5bc9354a806924656332f5089d547071",
475
+ "bytes": 20664
296
476
  },
297
477
  {
298
- "path": "examples/jin-ping-mei/build/app/js/engine.js",
299
- "sha256": "083eba7af0db65e17ab675f717fe3d39f08b64f1707e6105ba57cb104042e747",
300
- "bytes": 706502
478
+ "path": "examples/jin-ping-mei/build/app/js/menus.js",
479
+ "sha256": "9f07d2bc25cedec554c7bf3fb31ecab0810c115964429e65d501d01c4ef4a80e",
480
+ "bytes": 15976
301
481
  },
302
482
  {
303
- "path": "examples/jin-ping-mei/build/app/js/main.js",
304
- "sha256": "afec7737bccd315bb1776d7c09376be1c35cf8072048a07754b41ab85493d6ed",
305
- "bytes": 276884
483
+ "path": "examples/jin-ping-mei/build/app/js/petals.js",
484
+ "sha256": "7f511dfd363cf8cbb9eba71467361d661cb263b3e3c42b3ca68c2f27ed3f0792",
485
+ "bytes": 2349
486
+ },
487
+ {
488
+ "path": "examples/jin-ping-mei/build/app/js/stage.js",
489
+ "sha256": "5b75cb0584b8f852f2cbfaebe613727e6d16d6d1349bfd1dcb51ee56059647ec",
490
+ "bytes": 6580
491
+ },
492
+ {
493
+ "path": "examples/jin-ping-mei/build/app/js/store.js",
494
+ "sha256": "668e00e27ae0a1e3126e2a2c48d6c1e803c020b3071da6f3852a7cdc9e96212e",
495
+ "bytes": 2602
496
+ },
497
+ {
498
+ "path": "examples/jin-ping-mei/build/app/js/story/common.js",
499
+ "sha256": "bc2948c3348b9a299fc041840f18790d7c0addf6f669a1667770b2750326927a",
500
+ "bytes": 9105
501
+ },
502
+ {
503
+ "path": "examples/jin-ping-mei/build/app/js/story/common2.js",
504
+ "sha256": "37dc47d66f6deb8b297815f9f3c12881749c70c78a0d0cfbb013dd69bc7fa3c1",
505
+ "bytes": 9897
506
+ },
507
+ {
508
+ "path": "examples/jin-ping-mei/build/app/js/story/common3.js",
509
+ "sha256": "9ceab05b4ab927b8a91eca93f39582cdd1b3b75ab3e4b4a9084d592d8ce4ce5f",
510
+ "bytes": 9028
511
+ },
512
+ {
513
+ "path": "examples/jin-ping-mei/build/app/js/story/dates.js",
514
+ "sha256": "a4d86145ca913e31f0f87a5bd272a57634641f7ec822d7a20f79e928fecf14f3",
515
+ "bytes": 8230
306
516
  },
307
517
  {
308
- "path": "examples/jin-ping-mei/build/app/js/text.js",
309
- "sha256": "0ef4bc93902eb85b682d1a2b7989ccf57153ffe3a8451b90b4d0e41e8aa82440",
310
- "bytes": 1952
518
+ "path": "examples/jin-ping-mei/build/app/js/story/index.js",
519
+ "sha256": "0d1e1659d5e8505f0a6e34b86932ba4dba2640b7ee1af88734b8fc97b802e78e",
520
+ "bytes": 8641
521
+ },
522
+ {
523
+ "path": "examples/jin-ping-mei/build/app/js/story/meng.js",
524
+ "sha256": "3f957d0c33fbb8b638902985d07f1f172f0c5eb34bc41c2bd99ffea83ca9e6e3",
525
+ "bytes": 8134
526
+ },
527
+ {
528
+ "path": "examples/jin-ping-mei/build/app/js/story/pan.js",
529
+ "sha256": "ff324f992613a7e602818cd9250a6b0f0bae05893d8725a76c891783f223f1ee",
530
+ "bytes": 9193
531
+ },
532
+ {
533
+ "path": "examples/jin-ping-mei/build/app/js/story/pinger.js",
534
+ "sha256": "b148bfcffbb5c5822be5daea4903e520041d76c99836c271c0f97bbe3a0a9254",
535
+ "bytes": 8785
536
+ },
537
+ {
538
+ "path": "examples/jin-ping-mei/build/app/js/story/xuee.js",
539
+ "sha256": "679517e9bf12a5fe92d239a28564be8f93cf0f2d8d20bf9b12bb081018937cd3",
540
+ "bytes": 8283
541
+ },
542
+ {
543
+ "path": "examples/jin-ping-mei/build/app/js/story/yue.js",
544
+ "sha256": "bf85fb55ed7525f2e77e3add40b88ad963423ccaaecd5b6fac9c1033647cca87",
545
+ "bytes": 9312
311
546
  },
312
547
  {
313
548
  "path": "examples/jin-ping-mei/build/app/package.json",
314
- "sha256": "cc3a2769e36395739ab29a6ef5f9320e73dcc448d2e9746aebbe2385bc92589c",
315
- "bytes": 435
549
+ "sha256": "ee976a411123cc462bf7bf891ff9365550d2acfbcb82a2d2225b06ce53c1a12a",
550
+ "bytes": 400
316
551
  },
317
552
  {
318
553
  "path": "examples/jin-ping-mei/build/app/vercel.json",
@@ -321,8 +556,8 @@
321
556
  },
322
557
  {
323
558
  "path": "examples/jin-ping-mei/build/art/generated-art.json",
324
- "sha256": "95e6cf990ed6c4ca87364e984918e2b92c4f81fc3bd9eeac207ede4b458c8ea8",
325
- "bytes": 9792
559
+ "sha256": "ca767e079cf22c89c46d4db7ef5c8a98aa1ac279b602054df8c3cd805d61f327",
560
+ "bytes": 13025
326
561
  },
327
562
  {
328
563
  "path": "examples/jin-ping-mei/example.json",
@@ -331,23 +566,13 @@
331
566
  },
332
567
  {
333
568
  "path": "examples/jin-ping-mei/qa/README.md",
334
- "sha256": "e9e970762f0d6a43d946e803e2d3f6e28d61879e464b655f94aff900952f2e90",
335
- "bytes": 1421
336
- },
337
- {
338
- "path": "examples/jin-ping-mei/qa/playable-model.json",
339
- "sha256": "f65c270a11f5821b1d61ca86c776d6daa01d0aaef4291b755481d936bd772012",
340
- "bytes": 2480
569
+ "sha256": "866e798b79f05bf3eee81fc96e5fe9723e548b139494a4f7d08adb81abe04694",
570
+ "bytes": 956
341
571
  },
342
572
  {
343
573
  "path": "examples/jin-ping-mei/qa/verification.json",
344
- "sha256": "8167ca00857cdc47bde8aecb8a7823495ccbeb6d5134f3b75a1ee93c08264793",
345
- "bytes": 1368
346
- },
347
- {
348
- "path": "examples/jin-ping-mei/qa/verify_playable_model.mjs",
349
- "sha256": "f59f7eb0767db58a610275a7ec2c3ede59863ec0306f34f0ac26664d69a0abf9",
350
- "bytes": 7603
574
+ "sha256": "ad646eaf618cd3e2896b56eb0429ec7526769c2f940c846e20259c2200dee826",
575
+ "bytes": 1277
351
576
  },
352
577
  {
353
578
  "path": "skills/game-art-direction/SKILL.md",
@@ -361,8 +586,8 @@
361
586
  },
362
587
  {
363
588
  "path": "skills/game-art-direction/references/art-direction-method.md",
364
- "sha256": "7f90baf826dda2c94b3622c5419515e348c5efe1abdc802c5a25346bb6c073eb",
365
- "bytes": 2469
589
+ "sha256": "8e9879bae6cedc01047792d305154e6bd9419ec9c455c541162b372be7395bdd",
590
+ "bytes": 2811
366
591
  },
367
592
  {
368
593
  "path": "skills/game-build/SKILL.md",
@@ -411,8 +636,8 @@
411
636
  },
412
637
  {
413
638
  "path": "skills/game-concept/references/concept-method.md",
414
- "sha256": "39bc9cda22f5394e8e8fe05ef9cb8cba109b2dcbe1794d149fab2f40fd456fd2",
415
- "bytes": 2646
639
+ "sha256": "ae45e4ffafe6c253e66ea06636d836f81485bf0b705fc3e6fbb4be8f94a0c859",
640
+ "bytes": 2939
416
641
  },
417
642
  {
418
643
  "path": "skills/game-qa/SKILL.md",
@@ -446,8 +671,8 @@
446
671
  },
447
672
  {
448
673
  "path": "skills/game-world-design/references/narrative-design-method.md",
449
- "sha256": "ad5279a02bb3495b37b7087fc31d981a4258e059cbbf5648f463fec605fd9a42",
450
- "bytes": 2204
674
+ "sha256": "7e11b018e3b9d59bbd7102b4329aecc7c1e1c7c13616475129a8028f0313071d",
675
+ "bytes": 2446
451
676
  },
452
677
  {
453
678
  "path": "skills/game-world-design/references/numeric-design-method.md",
@@ -456,8 +681,8 @@
456
681
  },
457
682
  {
458
683
  "path": "skills/game-world-design/references/world-design-method.md",
459
- "sha256": "543f9f60e0c4130862e4833ba6dff71e49cb2d32b7d15fef74e354114b9b73bf",
460
- "bytes": 3614
684
+ "sha256": "ecbb27b68ff8cf11996c7d4220579437e69fa31c7fa8eb939dee263fd1ce07ff",
685
+ "bytes": 4356
461
686
  },
462
687
  {
463
688
  "path": "skills/novel-game-analyze/SKILL.md",
@@ -8,6 +8,12 @@
8
8
  “古风”不等于古画旧化,“现代审美”不等于现代服饰;反馈只应改变被指出的轴,
9
9
  不能连带改写原作身份。人物、器物与地理的识别锚点在多状态资产间保持连续。
10
10
 
11
+ ## 品类成色
12
+
13
+ 除 `targetFinish: graybox` 外,成色以同品类当下主流作品的实机截图为标尺:随手一张截图应像该品类的一款游戏,而不是技术演示。
14
+ 三维作品的质感先来自光照层次(主光、天光、环境遮蔽、雾与空气透视)与色调,其次是材质分层与地表变化,
15
+ 最后才是几何细节;提高面数补不了平光与单色材质。
16
+
11
17
  ## 功能与可读边界
12
18
 
13
19
  颜色、光、材质、运动和声音必须表达已经裁决的状态,不由表现代码另算一次效果;界面不能承诺规则未实现的机制。
@@ -36,5 +42,4 @@
36
42
 
37
43
  动态媒体额外锁定触发状态、不可变化的身份/地理/道具事实、开始与结束边界、跳过结果。
38
44
  需要玩家改变视角、位置或空间关系时,不用固定视频伪装交互。
39
- 语音仅在确有独特价值时采用;方向规定声口与节奏,始终保留字幕和静音路径,
40
- 逐句生产与服务调用交给构建。
45
+ 语音方向规定声口与节奏,逐句生产与服务调用交给构建。
@@ -4,6 +4,8 @@
4
4
 
5
5
  类型由玩家反复做什么决定,不由原作战斗、恋爱或对白的篇幅决定。先例按设计问题选择,
6
6
  记录借用与拒绝之处;原作必须改变动作对象、顺序、代价或世界回应,而不只是替换专有名词。
7
+ 借用成熟品类时,玩家据以认出“这是一款该类游戏”的外壳(进入世界与移动、目标指引、成长与回访理由、阅读与操作便利)
8
+ 随类型一并继承;拒绝项只排除商业化、社交、长线数值或受保护素材,不排除这层外壳。
7
9
 
8
10
  ## 硬否决
9
11
 
@@ -23,6 +23,8 @@
23
23
  ## 分支与持久回响
24
24
 
25
25
  关键选择记录实际言行、即时反应、持久事实及其读取点,不用隐藏总分替代具体历史。
26
+ 人物路线的关键选择针对该人物自己的心结或议程,而不是对谁都成立的“最讨好回答”;关系进展优先由人物反应、
27
+ 称呼、可进入的场所与可托付的事呈现,而不是屏幕上的数值。
26
28
  共享场景允许汇流,但对白、物件、关系和可用行动必须遵守所选路径,不能把未选行动当成已发生。
27
29
 
28
30
  只保留会被后续读取的状态;承诺、证词、物件去向和公开立场应在相关人物或后续决策中兑现,
@@ -8,6 +8,15 @@
8
8
  每个系统必须改变核心决策;删除或自动处理后体验不变的系统应删减。不要用统一时长、系统数量、
9
9
  角色层级或关卡五拍替代项目范围判断。
10
10
 
11
+ ## 品类外壳与第一分钟
12
+
13
+ 仅用于 `system-led` 或 `hybrid`;`narrative-led` 跳过本节。选定成熟品类时,该品类玩家默认存在、缺了就被
14
+ 当成 demo 的外壳(进入世界与移动、目标指引、成长与回访理由)在体验合同里用一张短表标“实现 / 降级 / 不做与
15
+ 理由”;切片缩小内容量,不砍外壳,外壳也不按“改变核心决策”裁剪。外壳不另写规则,只把完整路径会经过的外壳
16
+ 操作写进可执行切片合同。例如回合制网游的场景行走与 NPC、任务追踪、明雷遇敌、可重复日常环。
17
+
18
+ 第一分钟内玩家看到该品类的招牌画面,用该品类熟悉的指引知道自己是谁、下一步点哪里。
19
+
11
20
  ## 可执行因果
12
21
 
13
22
  只写运行时真正需要的规则:
@@ -30,6 +30,17 @@ interface Props {
30
30
  readonly onRemoveQueued: (itemId: string) => Promise<void>;
31
31
  readonly onRefresh: () => void;
32
32
  }
33
+ export declare function compositionSources(production: DramaEpisodeProduction, sequence: readonly ProductionSequenceItem[], versions: readonly ProductionMediaVersion[]): {
34
+ shotId: string;
35
+ sourceId: string;
36
+ kind: "image" | "video";
37
+ path: string;
38
+ durationSeconds: number | undefined;
39
+ }[];
33
40
  export declare function DramaProductionView(props: Props): import("react/jsx-runtime").JSX.Element;
41
+ export declare function SequenceBoard(props: Pick<Props, "jobs" | "sequence" | "versions" | "onSequenceChange"> & {
42
+ readonly episodeDirectory?: string;
43
+ readonly onCompose: () => void;
44
+ }): import("react/jsx-runtime").JSX.Element;
34
45
  export {};
35
46
  //# sourceMappingURL=drama-production-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drama-production-view.d.ts","sourceRoot":"","sources":["../../../src/client/drama-production-view.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA0B,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGnJ,OAAO,EAA8M,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEhX,UAAU,KAAK;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,eAAe,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5D,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAClF,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,sBAAsB,EAAE,KAAK,IAAI,CAAC;IACxE,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IACvE,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC;AAoED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,2CAyF/C"}
1
+ {"version":3,"file":"drama-production-view.d.ts","sourceRoot":"","sources":["../../../src/client/drama-production-view.tsx"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ export interface UndispatchedCall {
35
35
  * Calls of the open Turn whose Assistant step has finished streaming but that have no result yet.
36
36
  * DSH 0.1.7 hides such a call's tool row until its durable `tool/call` event — through pre-execute
37
37
  * hooks and any approval — so it is in neither `partial` nor the running calls, and a call it does
38
- * list stays `preparing` without arguments. The step's own tool-call block still holds them.
38
+ * list on rc.2 stays `preparing` without arguments. The step's own tool-call block still holds them.
39
39
  */
40
40
  export declare function undispatchedCalls(chat: ChatSnapshot): UndispatchedCall[];
41
41
  export declare function sameUndispatchedCalls(left: readonly UndispatchedCall[], right: readonly UndispatchedCall[]): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"file-activity.d.ts","sourceRoot":"","sources":["../../../src/client/file-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AASjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AASD,mGAAmG;AACnG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,IAAI,CAUlG;AAgBD,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAuBvF;AA6ED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAqBxE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,OAAO,CAIpH;AAED,0GAA0G;AAC1G,wBAAgB,aAAa,CAC3B,YAAY,EAAE,SAAS,eAAe,EAAE,EACxC,OAAO,GAAE,gBAAgB,GAAG,IAAW,EACvC,YAAY,GAAE,SAAS,gBAAgB,EAAO,GAC7C,oBAAoB,EAAE,CAmBxB;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAI7F;AAuBD,8FAA8F;AAC9F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAEhF;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAI/D;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY1G;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAQxF;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,IAAI,EAAE,aAAa,GAClB,MAAM,GAAG,SAAS,CA6BpB;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBhG"}
1
+ {"version":3,"file":"file-activity.d.ts","sourceRoot":"","sources":["../../../src/client/file-activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EACV,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EAEhB,MAAM,gDAAgD,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AASjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AASD,mGAAmG;AACnG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,IAAI,CAUlG;AAgBD,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAuBvF;AA6ED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAqBxE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,gBAAgB,EAAE,GAAG,OAAO,CAIpH;AAED,0GAA0G;AAC1G,wBAAgB,aAAa,CAC3B,YAAY,EAAE,SAAS,eAAe,EAAE,EACxC,OAAO,GAAE,gBAAgB,GAAG,IAAW,EACvC,YAAY,GAAE,SAAS,gBAAgB,EAAO,GAC7C,oBAAoB,EAAE,CAgCxB;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,YAAY,EAAE,SAAS,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAI7F;AAuBD,8FAA8F;AAC9F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED,4FAA4F;AAC5F,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAEhF;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAI/D;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAY1G;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAQxF;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,IAAI,EAAE,aAAa,GAClB,MAAM,GAAG,SAAS,CA6BpB;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBhG"}
@@ -12,5 +12,11 @@ export declare function nativeBatchPrompt(production: DramaEpisodeProduction, jo
12
12
  * them with a production job. An external mix ends with the loudnorm pass render itself runs
13
13
  * (edit_tool.py `_loudnorm_filter`, then AAC 192k at 48 kHz).
14
14
  */
15
- export declare function nativeCompositionPrompt(production: DramaEpisodeProduction, job: ProductionJob, orderedPaths: readonly string[]): string;
15
+ export declare function nativeCompositionPrompt(production: DramaEpisodeProduction, job: ProductionJob, orderedSources: readonly {
16
+ readonly shotId: string;
17
+ readonly sourceId: string;
18
+ readonly kind: ProductionMediaVersion["kind"];
19
+ readonly path: string;
20
+ readonly durationSeconds?: number | undefined;
21
+ }[]): string;
16
22
  //# sourceMappingURL=production-prompts.d.ts.map