@aswless_854771076/ai_short_studio_cli 0.1.98 → 0.1.100

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 (405) hide show
  1. package/README.md +15 -313
  2. package/dist/base-command.d.ts +0 -6
  3. package/dist/base-command.js +1 -39
  4. package/dist/client/api-client.js +2 -19
  5. package/dist/commands/auth/login.d.ts +1 -2
  6. package/dist/commands/auth/login.js +2 -5
  7. package/dist/commands/auth/logout.d.ts +0 -1
  8. package/dist/commands/auth/signup.d.ts +0 -1
  9. package/dist/commands/auth/status.d.ts +0 -1
  10. package/dist/commands/canvas/apply.d.ts +0 -1
  11. package/dist/commands/canvas/asset/get.d.ts +0 -1
  12. package/dist/commands/canvas/asset/list.d.ts +0 -1
  13. package/dist/commands/canvas/asset/select.d.ts +1 -3
  14. package/dist/commands/canvas/asset/select.js +3 -22
  15. package/dist/commands/canvas/asset/upload.d.ts +0 -14
  16. package/dist/commands/canvas/asset/upload.js +3 -43
  17. package/dist/commands/canvas/continuity/analyze.d.ts +0 -1
  18. package/dist/commands/canvas/edge/connect.d.ts +0 -1
  19. package/dist/commands/canvas/edge/disconnect.d.ts +0 -1
  20. package/dist/commands/canvas/edge/list.d.ts +0 -1
  21. package/dist/commands/canvas/edge/list.js +1 -4
  22. package/dist/commands/canvas/episode/create.d.ts +0 -1
  23. package/dist/commands/canvas/episode/list.d.ts +0 -1
  24. package/dist/commands/canvas/folder/copy-cross-project.d.ts +0 -1
  25. package/dist/commands/canvas/folder/create.d.ts +0 -1
  26. package/dist/commands/canvas/folder/delete.d.ts +0 -1
  27. package/dist/commands/canvas/folder/list.d.ts +0 -1
  28. package/dist/commands/canvas/folder/move.d.ts +0 -1
  29. package/dist/commands/canvas/folder/rename.d.ts +0 -1
  30. package/dist/commands/canvas/folder/restore.d.ts +0 -1
  31. package/dist/commands/canvas/get.d.ts +0 -1
  32. package/dist/commands/canvas/inspect.d.ts +0 -1
  33. package/dist/commands/canvas/node/add.d.ts +1 -1
  34. package/dist/commands/canvas/node/add.js +2 -2
  35. package/dist/commands/canvas/node/delete.d.ts +0 -1
  36. package/dist/commands/canvas/node/edit-resource.d.ts +0 -2
  37. package/dist/commands/canvas/node/edit-resource.js +1 -9
  38. package/dist/commands/canvas/node/edit-shot.d.ts +0 -1
  39. package/dist/commands/canvas/node/get.d.ts +0 -1
  40. package/dist/commands/canvas/node/list.d.ts +0 -5
  41. package/dist/commands/canvas/node/list.js +2 -43
  42. package/dist/commands/canvas/node/run.d.ts +0 -15
  43. package/dist/commands/canvas/node/run.js +6 -142
  44. package/dist/commands/canvas/node/types.d.ts +0 -1
  45. package/dist/commands/canvas/node/update-many.d.ts +0 -1
  46. package/dist/commands/canvas/node/update.d.ts +0 -1
  47. package/dist/commands/canvas/settings/get.d.ts +0 -1
  48. package/dist/commands/canvas/settings/set.d.ts +0 -24
  49. package/dist/commands/canvas/settings/set.js +1 -60
  50. package/dist/commands/config/get.d.ts +0 -1
  51. package/dist/commands/config/set.d.ts +0 -2
  52. package/dist/commands/config/set.js +2 -55
  53. package/dist/commands/preflight.d.ts +0 -1
  54. package/dist/commands/preflight.js +1 -9
  55. package/dist/commands/project/create.d.ts +0 -1
  56. package/dist/commands/project/delete.d.ts +0 -1
  57. package/dist/commands/project/get.d.ts +0 -1
  58. package/dist/commands/project/list.d.ts +0 -1
  59. package/dist/commands/project/update.d.ts +0 -1
  60. package/dist/commands/skill/install.d.ts +0 -1
  61. package/dist/commands/skill/install.js +0 -1
  62. package/dist/commands/skill/path.d.ts +0 -1
  63. package/dist/commands/skill/path.js +0 -1
  64. package/dist/commands/skill/status.d.ts +0 -1
  65. package/dist/commands/skill/status.js +0 -1
  66. package/dist/commands/task/cancel.d.ts +0 -1
  67. package/dist/commands/task/get.d.ts +0 -1
  68. package/dist/commands/task/wait.d.ts +0 -2
  69. package/dist/commands/task/wait.js +1 -6
  70. package/dist/domain/vvicat-api.d.ts +3 -63
  71. package/dist/domain/vvicat-api.js +9 -74
  72. package/dist/output/formatter.d.ts +0 -11
  73. package/dist/output/formatter.js +0 -20
  74. package/dist/preflight.d.ts +0 -1
  75. package/dist/preflight.js +1 -14
  76. package/dist/skill/command-flags.js +4 -7
  77. package/dist/skill/skill-manager.d.ts +2 -75
  78. package/dist/skill/skill-manager.js +15 -60
  79. package/package.json +3 -4
  80. package/scripts/postinstall.mjs +12 -7
  81. package/skills/using-vvicat-ai-short-studio-cli/SKILL.md +67 -27
  82. package/skills/using-vvicat-ai-short-studio-cli/references/commands/canvas.md +4 -3
  83. package/skills/using-vvicat-ai-short-studio-cli/references/commands/project.md +2 -26
  84. package/skills/using-vvicat-ai-short-studio-cli/references/commands.md +2 -2
  85. package/skills/using-vvicat-ai-short-studio-cli/references/editing-delivery.md +1 -1
  86. package/skills/using-vvicat-ai-short-studio-cli/references/h3-video-delivery.md +1 -1
  87. package/skills/using-vvicat-ai-short-studio-cli/references/humanizer/humanizer.md +9 -0
  88. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/SKILL.md +447 -0
  89. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/brief.md +93 -0
  90. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/project-files.md +246 -0
  91. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/reference-video.md +266 -0
  92. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/script-and-time.md +253 -0
  93. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/transformations.md +141 -0
  94. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/distribution.md +176 -0
  95. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/local-tools.md +411 -0
  96. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/model-and-provider.md +275 -0
  97. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/profile.md +286 -0
  98. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/asset-and-shot-preproduction.md +193 -0
  99. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/b-roll.md +94 -0
  100. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/caption-tracking.md +125 -0
  101. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/captions.md +252 -0
  102. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/conversation-images.md +218 -0
  103. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-base-prompt-writing.md +222 -0
  104. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-reference-prompt-writing.md +341 -0
  105. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/image-direction.md +123 -0
  106. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/generated-dependencies.md +38 -0
  107. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/graphic-compositions.md +85 -0
  108. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/h3-prompt-writing.md +54 -0
  109. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/image-direction.md +95 -0
  110. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/motion-graphics.md +68 -0
  111. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/recreation-policy.md +51 -0
  112. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/screen-demonstrations.md +51 -0
  113. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/shot-production-contracts.md +161 -0
  114. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/sound-mix.md +76 -0
  115. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/video-direction.md +433 -0
  116. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-and-performance.md +224 -0
  117. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-direction.md +99 -0
  118. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/narration-led-demo.md +87 -0
  119. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/presenter-led-explainer.md +160 -0
  120. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/ranking-listicle.md +71 -0
  121. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/reference-recreation-canvas.md +8 -0
  122. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama-workflow.md +165 -0
  123. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama.md +88 -0
  124. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/street-interview.md +92 -0
  125. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/talking-head.md +82 -0
  126. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/two-person-podcast.md +101 -0
  127. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/index.md +77 -0
  128. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/audio-presentation.md +49 -0
  129. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/authoring.md +228 -0
  130. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/browser-capture.md +112 -0
  131. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/builds.md +330 -0
  132. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-authoring.md +156 -0
  133. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-presentation.md +66 -0
  134. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-design.md +217 -0
  135. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-sharing.md +150 -0
  136. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-visuals.md +152 -0
  137. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/detail.svrun +8 -0
  138. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/direction.svs +14 -0
  139. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/look.svs +6 -0
  140. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/material.svrun +5 -0
  141. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svml +73 -0
  142. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svrun +5 -0
  143. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/visuals.ts +62 -0
  144. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/fonts-and-text.md +138 -0
  145. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/image-operations.md +102 -0
  146. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/index.md +73 -0
  147. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media-presentation.md +111 -0
  148. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media.md +246 -0
  149. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/performance.md +114 -0
  150. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/prompt-kits.md +165 -0
  151. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/rendering.md +141 -0
  152. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/review.md +211 -0
  153. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/runs.md +151 -0
  154. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/script-syntax.md +236 -0
  155. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/snapshots.md +90 -0
  156. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/sound.md +75 -0
  157. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/source-syntax.md +163 -0
  158. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/spatial.md +189 -0
  159. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio-companions.md +186 -0
  160. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio.md +249 -0
  161. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/system.md +169 -0
  162. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timeline.md +74 -0
  163. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timing.md +96 -0
  164. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/track-authoring.md +215 -0
  165. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/tracks.md +67 -0
  166. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/video-downloads.md +47 -0
  167. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/vocabulary.md +119 -0
  168. package/skills/using-vvicat-ai-short-studio-cli/references/project-and-canvas.md +1 -1
  169. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/README.md +11 -0
  170. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/SKILL.md +102 -0
  171. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/art-styles.json +585 -0
  172. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-images.md +11 -0
  173. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles/character-profile-output.schema.json +99 -0
  174. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles.md +7 -0
  175. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-drama-art-style.md +9 -0
  176. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-prop-assets.md +11 -0
  177. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-scene-assets.md +13 -0
  178. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-art-styles.md +9 -0
  179. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-assets.md +9 -0
  180. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.en.txt +24 -0
  181. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.zh.txt +24 -0
  182. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.en.txt +61 -0
  183. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.zh.txt +79 -0
  184. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.en.txt +101 -0
  185. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.zh.txt +150 -0
  186. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.en.txt +114 -0
  187. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.zh.txt +89 -0
  188. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.en.txt +114 -0
  189. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.zh.txt +389 -0
  190. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.en.txt +40 -0
  191. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.zh.txt +40 -0
  192. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.en.txt +24 -0
  193. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.zh.txt +24 -0
  194. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.en.txt +19 -0
  195. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.zh.txt +19 -0
  196. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.en.txt +26 -0
  197. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.zh.txt +26 -0
  198. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.en.txt +33 -0
  199. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.zh.txt +33 -0
  200. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.en.txt +36 -0
  201. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.zh.txt +36 -0
  202. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.en.txt +33 -0
  203. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.zh.txt +33 -0
  204. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.en.txt +26 -0
  205. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.zh.txt +26 -0
  206. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.en.txt +21 -0
  207. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.zh.txt +21 -0
  208. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.en.txt +12 -0
  209. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.zh.txt +12 -0
  210. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.en.txt +13 -0
  211. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.zh.txt +13 -0
  212. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.en.txt +11 -0
  213. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.zh.txt +11 -0
  214. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.en.txt +15 -0
  215. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.zh.txt +15 -0
  216. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.en.txt +14 -0
  217. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.zh.txt +14 -0
  218. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.en.txt +50 -0
  219. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.zh.txt +50 -0
  220. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.en.txt +18 -0
  221. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.zh.txt +18 -0
  222. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.en.txt +67 -0
  223. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.zh.txt +67 -0
  224. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.en.txt +14 -0
  225. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.zh.txt +14 -0
  226. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.en.txt +16 -0
  227. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.zh.txt +16 -0
  228. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.en.txt +17 -0
  229. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.zh.txt +17 -0
  230. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.en.txt +11 -0
  231. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.zh.txt +11 -0
  232. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.en.txt +14 -0
  233. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.zh.txt +14 -0
  234. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.en.txt +13 -0
  235. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.zh.txt +13 -0
  236. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.en.txt +12 -0
  237. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.zh.txt +12 -0
  238. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.en.txt +19 -0
  239. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.zh.txt +19 -0
  240. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.en.txt +18 -0
  241. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.zh.txt +17 -0
  242. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.en.txt +29 -0
  243. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.zh.txt +29 -0
  244. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.en.txt +77 -0
  245. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.zh.txt +77 -0
  246. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.en.txt +109 -0
  247. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.zh.txt +109 -0
  248. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.en.txt +23 -0
  249. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.zh.txt +23 -0
  250. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.en.txt +42 -0
  251. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.zh.txt +42 -0
  252. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.en.txt +55 -0
  253. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.zh.txt +55 -0
  254. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.en.txt +49 -0
  255. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.zh.txt +52 -0
  256. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.en.txt +37 -0
  257. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.zh.txt +37 -0
  258. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.en.txt +28 -0
  259. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.zh.txt +28 -0
  260. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.en.txt +57 -0
  261. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.zh.txt +169 -0
  262. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.en.txt +64 -0
  263. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.zh.txt +117 -0
  264. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.en.txt +34 -0
  265. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.zh.txt +34 -0
  266. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.en.txt +18 -0
  267. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.zh.txt +13 -0
  268. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.en.txt +7 -0
  269. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.zh.txt +7 -0
  270. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.en.txt +28 -0
  271. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.zh.txt +42 -0
  272. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.en.txt +35 -0
  273. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.zh.txt +35 -0
  274. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.en.txt +21 -0
  275. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.zh.txt +21 -0
  276. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.en.txt +39 -0
  277. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.zh.txt +39 -0
  278. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.en.txt +49 -0
  279. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.zh.txt +48 -0
  280. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.en.txt +51 -0
  281. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.zh.txt +51 -0
  282. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.en.txt +50 -0
  283. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.zh.txt +50 -0
  284. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.en.txt +48 -0
  285. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.zh.txt +46 -0
  286. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/plan-drama-assets.md +7 -0
  287. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/codex-contracts.md +14 -0
  288. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/comfly-provider.md +12 -0
  289. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/controlled-vocabulary.json +115 -0
  290. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/analyze-drama-source.md +7 -0
  291. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/define-drama-brief.md +8 -0
  292. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/design-drama-bible.md +5 -0
  293. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/humanizer.md +9 -0
  294. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/outline-drama-series.md +5 -0
  295. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/short-drama.md +13 -0
  296. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-director-book.md +6 -0
  297. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-episode.md +6 -0
  298. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/director-composition.md +794 -0
  299. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-deliver-drama.md +5 -0
  300. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-drama-timeline.md +22 -0
  301. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/remotion-best-practices.md +12 -0
  302. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing-workflow.md +56 -0
  303. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/feature-completeness.md +111 -0
  304. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/configure-generation-providers.md +17 -0
  305. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/design-drama-audio.md +11 -0
  306. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/drama-generation-service.md +13 -0
  307. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-drama-videos.md +9 -0
  308. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-storyboard-images.md +11 -0
  309. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/monitor-drama-tasks.md +15 -0
  310. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/transform-drama-media.md +9 -0
  311. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/write-drama-video-prompts.md +50 -0
  312. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/market-report.schema.json +46 -0
  313. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/methodology.md +24 -0
  314. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market.md +47 -0
  315. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market/market-inspiration.schema.json +109 -0
  316. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market.md +15 -0
  317. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/module-map.json +595 -0
  318. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/music-catalog-providers.md +16 -0
  319. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/manage-drama-projects.md +11 -0
  320. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/orchestrate-short-drama.md +20 -0
  321. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/recover-drama-pipeline.md +5 -0
  322. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/short-drama-skill-index.md +29 -0
  323. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/use-short-drama-studio.md +15 -0
  324. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/pipeline.md +85 -0
  325. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/project-spec-v1.md +217 -0
  326. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/prompt-skill-index.md +62 -0
  327. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/recreation/publish-drama-references/litterbox.md +5 -0
  328. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-script.md +7 -0
  329. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-shots.md +39 -0
  330. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/runninghub-provider.md +33 -0
  331. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/starrouter-provider.md +53 -0
  332. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/build-drama-storyboard.md +13 -0
  333. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/design-fight-video.md +19 -0
  334. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/action-previz.md +39 -0
  335. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/direction-contract.md +96 -0
  336. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/weapons-vfx.md +23 -0
  337. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz.md +15 -0
  338. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/generate-blender-previz.md +20 -0
  339. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-drama-production.md +21 -0
  340. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-shot-continuity.md +15 -0
  341. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/revise-drama-storyboards.md +5 -0
  342. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/usage-guide.md +107 -0
  343. package/skills/using-vvicat-ai-short-studio-cli/references/special-workflows.md +2 -8
  344. package/skills/using-vvicat-ai-short-studio-cli/references/troubleshooting.md +0 -1
  345. package/dist/auth/login-provider.d.ts +0 -2
  346. package/dist/auth/login-provider.js +0 -3
  347. package/dist/commands/canvas/node/quote.d.ts +0 -17
  348. package/dist/commands/canvas/node/quote.js +0 -13
  349. package/dist/commands/config/ai-provider/capabilities.d.ts +0 -60
  350. package/dist/commands/config/ai-provider/capabilities.js +0 -124
  351. package/dist/commands/config/ai-provider/get.d.ts +0 -22
  352. package/dist/commands/config/ai-provider/get.js +0 -21
  353. package/dist/commands/config/ai-provider/list.d.ts +0 -21
  354. package/dist/commands/config/ai-provider/list.js +0 -19
  355. package/dist/commands/config/ai-provider/models.d.ts +0 -22
  356. package/dist/commands/config/ai-provider/models.js +0 -21
  357. package/dist/commands/config/ai-provider/set.d.ts +0 -41
  358. package/dist/commands/config/ai-provider/set.js +0 -65
  359. package/dist/commands/config/ai-provider/test.d.ts +0 -25
  360. package/dist/commands/config/ai-provider/test.js +0 -24
  361. package/dist/commands/project/provider/get.d.ts +0 -15
  362. package/dist/commands/project/provider/get.js +0 -12
  363. package/dist/commands/project/provider/set.d.ts +0 -16
  364. package/dist/commands/project/provider/set.js +0 -18
  365. package/dist/commands/project/provider/test.d.ts +0 -15
  366. package/dist/commands/project/provider/test.js +0 -12
  367. package/dist/domain/ai-provider-capabilities.d.ts +0 -109
  368. package/dist/domain/ai-provider-capabilities.js +0 -180
  369. package/dist/domain/ai-provider-command-helpers.d.ts +0 -27
  370. package/dist/domain/ai-provider-command-helpers.js +0 -55
  371. package/skills/using-vvicat-ai-short-studio-cli/references/b-roll-and-screen.md +0 -9
  372. package/skills/using-vvicat-ai-short-studio-cli/references/caption-and-graphics-direction.md +0 -11
  373. package/skills/using-vvicat-ai-short-studio-cli/references/composition-and-shot-review.md +0 -17
  374. package/skills/using-vvicat-ai-short-studio-cli/references/craft-index.md +0 -20
  375. package/skills/using-vvicat-ai-short-studio-cli/references/drama-canvas.md +0 -19
  376. package/skills/using-vvicat-ai-short-studio-cli/references/format-relationships.md +0 -15
  377. package/skills/using-vvicat-ai-short-studio-cli/references/h3-prompts.md +0 -7
  378. package/skills/using-vvicat-ai-short-studio-cli/references/image-and-reference-direction.md +0 -9
  379. package/skills/using-vvicat-ai-short-studio-cli/references/licensed-music.md +0 -9
  380. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/oh-my-short-drama-MIT.txt +0 -21
  381. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/short-drama-MIT.txt +0 -21
  382. package/skills/using-vvicat-ai-short-studio-cli/references/media-provenance-and-review.md +0 -22
  383. package/skills/using-vvicat-ai-short-studio-cli/references/paid-plan.md +0 -7
  384. package/skills/using-vvicat-ai-short-studio-cli/references/production-specialties.md +0 -25
  385. package/skills/using-vvicat-ai-short-studio-cli/references/recreation.md +0 -21
  386. package/skills/using-vvicat-ai-short-studio-cli/references/reference-analysis-and-timing.md +0 -19
  387. package/skills/using-vvicat-ai-short-studio-cli/references/remotion-editing.md +0 -18
  388. package/skills/using-vvicat-ai-short-studio-cli/references/shot-production.md +0 -9
  389. package/skills/using-vvicat-ai-short-studio-cli/references/sound-and-captions.md +0 -7
  390. package/skills/using-vvicat-ai-short-studio-cli/references/sources.md +0 -6
  391. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/canvas-production.md +0 -9
  392. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/guide.md +0 -7
  393. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/index.md +0 -13
  394. package/skills/using-vvicat-ai-short-studio-cli/references/video-and-performance-direction.md +0 -9
  395. package/skills/using-vvicat-ai-short-studio-cli/references/voice-and-sound-direction.md +0 -9
  396. package/skills/using-vvicat-ai-short-studio-cli/references/writing-polish.md +0 -15
  397. /package/skills/using-vvicat-ai-short-studio-cli/references/{licenses/humanizer-MIT.txt → short-drama/assets/modules/humanizer/LICENSE} +0 -0
  398. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/compliance-checklist.md +0 -0
  399. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/genre-guide.md +0 -0
  400. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/hook-design.md +0 -0
  401. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/opening-rules.md +0 -0
  402. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/paywall-design.md +0 -0
  403. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/rhythm-curve.md +0 -0
  404. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/satisfaction-matrix.md +0 -0
  405. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/villain-design.md +0 -0
@@ -0,0 +1,330 @@
1
+ # Planning, Builds, and Results
2
+
3
+ Read this when inspecting the work selected by a Run, obtaining spending authority, submitting a
4
+ Build, continuing after a failed attempt, following work after an observer disconnects, or retrieving
5
+ completed Outputs.
6
+
7
+ [Runs](runs.md) owns Candidate syntax and substitutes. [System relationships](system.md) explains
8
+ how the selected graph becomes a Build, and [rendering](rendering.md) covers whole or partial video outputs.
9
+
10
+ ## Reuse available Outputs and identify active Builds
11
+
12
+ For a revision, identify the relevant Run and its completed Outputs, then preserve the still-useful
13
+ ones with `build-record` and `satisfy`. Keep unrelated Candidate selections. [Authoring](authoring.md#reuse-produced-work-explicitly)
14
+ explains which media or SemanticTake Output to keep without freezing the downstream edit. A failed
15
+ Build can still supply completed Outputs; a missing exported file is not evidence of missing media.
16
+
17
+ If the CLI or observation tool loses its reply while submitting or following a Build, inspect the
18
+ local Runtime and project Results: the Worker may already be executing that Build.
19
+
20
+ ```bash
21
+ hypit activity
22
+ hypit status <build-id>
23
+ hypit builds
24
+ hypit inspect <build-id>
25
+ ```
26
+
27
+ Use the original project and Runtime Profile for activity, status and cancellation; pass
28
+ `--runtime <profile>` when it is not the project's selected Profile. `builds` and `inspect` read
29
+ project-owned Results without a Runtime argument. Read active execution from the Runtime Profile
30
+ that received the Build.
31
+
32
+ Use the known Build id. If it was not returned, use project activity and Results to identify the
33
+ submission from its Run, Source and submission time. Follow active work with `status --watch` and
34
+ reuse completed Outputs. A closed terminal or interrupted
35
+ observation is distinct from a failed Provider request inside the Build. Finishing an incomplete
36
+ Result is covered below and does not require regenerating media.
37
+
38
+ Follow-up commands printed by the CLI retain the project and relevant Runtime. Preserve that scope
39
+ when adapting a command. Watching with `--json` still reports coalesced progress on stderr while
40
+ stdout carries the final JSON; read both channels when the terminal tool exposes them. Translate the
41
+ reported work, relevant uncertainty and useful next action into a concise update for the user.
42
+ The Runtime owns execution; a conversational update or a detached observer does not pause it.
43
+
44
+ For a slow or failed stage, read its retained execution evidence:
45
+
46
+ ```bash
47
+ hypit logs <build-id> --lines 80
48
+ ```
49
+
50
+ This reads Provider diagnostics and execution phases from active work or the finished Result.
51
+ Completed Build logs remain accessible through the Result repository without the original Runtime.
52
+ Use `hypit runtime logs` for Worker startup or process failures. Start with the relevant tail and
53
+ expand it when the cause needs earlier context; a closed terminal does not erase the Build's log.
54
+
55
+ ## Continue after a failed attempt
56
+
57
+ A failed Build leaves the work and evidence produced by that attempt. Prepare a new Run that selects
58
+ its usable Outputs through `build-record` and `satisfy`, then submit a new Build for the remaining
59
+ work. The next attempt's choices belong in that Run; the earlier Build retains its failure.
60
+
61
+ When a Provider task-submission request times out without a task ID or another usable receipt,
62
+ the Result can establish the request failure and absence of a receipt, while the remote outcome remains
63
+ unknown. A later submission is a new Build. Assess its paid requests against the
64
+ [agreed scope and cost](#work-within-the-agreed-paid-scope), and select any Outputs already available
65
+ from the earlier attempt in its Run.
66
+
67
+ When a usable receipt does exist and gives access to a generated asset, the Agent can retrieve that
68
+ asset as an ordinary project file and select it with `file` and `satisfy` in the new Run. This supplies
69
+ the file Output; downstream preparation and alignment still run when needed. A completed SemanticTake
70
+ can instead be reused directly through its existing Result Output.
71
+
72
+ The StarRouter Comfly workflow keeps the public task ID in a durable checkpoint. When status lookup
73
+ or output download fails transiently, resume observation or collection of that same task. A lost
74
+ response to the initial create request is different: without a public task ID its remote outcome is
75
+ unknown, so do not resubmit a possibly paid request. Inspect the StarRouter task and billing records
76
+ before authorizing a replacement.
77
+
78
+ Use `status <build-id> --verbose` for task IDs, Endpoints and progress. Use
79
+ `inspect <build-id> --verbose --json` for the Result's full retained execution records, including
80
+ available credential references and receipts; increase `--limit` if the report lists omitted records.
81
+ Secret values stay in their Credential Store. `--json` changes encoding, while `--verbose` requests
82
+ these details.
83
+
84
+ ## Plan the selected Run
85
+
86
+ `hypit plan` inspects an authored Run's execution demands. The creative direction shared with the
87
+ user develops earlier from their request and reference evidence; it does not require a Run, a fully
88
+ prepared environment or this command. Use the command when there is concrete execution to inspect.
89
+
90
+ Plan the actual Run after its reuse choices and requested changes are expressed:
91
+
92
+ ```bash
93
+ hypit check path/to/build.svrun
94
+ hypit plan path/to/build.svrun
95
+ ```
96
+
97
+ `check` validates the self-described Sources and graph without executing them. `plan` freezes the
98
+ demanded subgraph after applying the Run's Candidate selections and lists every external Need that
99
+ would be sent. Planning starts no external work.
100
+
101
+ Use the default reports to follow the remaining work. `--json` changes the encoding; `--verbose`
102
+ expands the scope. A Run's Candidate count is not its count of new requests or generated assets:
103
+ Candidates may supply existing values or select another Producer. The confirmation view is the
104
+ production plan itself: read the named requests and quantities for boards, depth videos, audio
105
+ references, generated shots and processing work.
106
+
107
+ With a selected Runtime Profile, the plan also names the Endpoint behind each request, applies that
108
+ Endpoint's request-support rules and checks cheap readiness for the demanded capabilities. It does not
109
+ calculate or show a concrete price. Planning remains local and does not require a billing account.
110
+
111
+ When an operator separately needs Provider rate diagnostics, they may read the current pricing material:
112
+
113
+ ```bash
114
+ hypit pricing path/to/build.svrun
115
+ ```
116
+
117
+ `pricing` is an explicit read-only network operation. It creates no Build and submits no generation.
118
+ The default report groups matching requests by their selected Endpoint and pricing material, showing
119
+ known parameters, request counts, and the Provider's rate summary or document with its source URL. Explicit
120
+ no-charge work is summarized in one count. Missing pricing declarations and failed queries stay
121
+ visible as uncertainty; a declared price page remains useful when the Provider supplies no document.
122
+
123
+ This command is not part of the generation confirmation gate and Hypit calculates no total.
124
+
125
+ `--json` puts each group's `requests` beside its `pricingDocuments`, retaining the Provider's original
126
+ data. Both views include all pricing groups by default. `--limit <count>` shortens only the human
127
+ view; `--verbose` shows original documents and the no-charge work. Read these groups only when
128
+ explicitly needed for billing diagnostics.
129
+
130
+ Read the remaining Needs against this change. A Caption or MG-only revision should keep its existing
131
+ media generation satisfied; replacing selected B-roll should leave the unchanged performance satisfied.
132
+ Rendering and other required processing may still appear as Needs. Explain each new media request
133
+ from the user's goal or an explicit generation decision. If a request appears because a Candidate was
134
+ lost or never selected, repair the Run and plan again before asking to spend or submitting work.
135
+
136
+ ## Work within the agreed paid scope
137
+
138
+ Paid-work authority covers the displayed production plan through the selected billing accounts. Before
139
+ asking for authorization, show the work and quantities without calculating a concrete price. Account
140
+ access and available quota describe what can run; approval of that plan establishes what may be
141
+ submitted. If the user supplies a budget ceiling, never exceed it.
142
+
143
+ The commission can cover a whole production, including reference transcription, generated media
144
+ and semantic alignment, or just the reference analysis before the user decides to commission the
145
+ video. Early hosted transcription fits either scope. Establish its coverage before invoking
146
+ `hypit transcribe`, which immediately calls the selected Endpoint. A production Run need not exist yet.
147
+ As the creative plan becomes concrete, `plan` exposes the exact remaining requests for that Run.
148
+
149
+ Carry covered work forward and keep the user informed. The same agreement can apply across tool
150
+ calls and Builds; a new command is not itself a new authorization request. Ask for a new decision
151
+ when the work expands beyond the agreed plan, exceeds a user-supplied budget ceiling, or would use an
152
+ account outside that agreement. Use the current plan and available Results to judge the remaining work.
153
+
154
+ Preserve the user's agreement in [Brief](../creation/brief.md#brief-preserves-user-authority), and
155
+ resume from it alongside the current Run, Results and Progress. Normal composition work carries
156
+ usable generated media forward. A request to revise Caption or MG authorizes that revision;
157
+ additional media generation follows an intentional production choice covered by the paid scope.
158
+ Explain a meaningful change while proceeding when it is already covered; seek the user's decision
159
+ when it changes what they have agreed to fund.
160
+
161
+ ## Submit one durable Build
162
+
163
+ Review the current plan and obtain the user's confirmation before recording its approval. A paid
164
+ Build requires the matching approval; every Build requires explicit `--confirmed`.
165
+
166
+ ```bash
167
+ hypit plan path/to/build.svrun
168
+ hypit plan path/to/build.svrun --approve
169
+ hypit build path/to/build.svrun --title first-cut --confirmed --follow
170
+ ```
171
+
172
+ Every invocation creates a fresh time-ordered Build id and one independent Result, even when the Run
173
+ did not change. Cross-Build reuse requires explicit Run Candidates; repeating the same command does
174
+ not resume the earlier Build or automatically select its Outputs. The optional title is a human-facing
175
+ Result label; it does not replace the Build id or alter Source identity.
176
+
177
+ Build performs a cheap preflight and submits only when the selected deployment slice is ready. It
178
+ does not install packages or start a missing Managed Program. When the environment has already been
179
+ prepared and only the Worker is stopped, Build ensures that Worker becomes available. When
180
+ preparation is missing, prepare the selected Endpoint with `hypit programs prepare --endpoint <instance>`;
181
+ use `programs up` if its helper also needs starting. [Local preparation](../environment/local-tools.md#let-the-selected-endpoint-own-its-program)
182
+ explains their scope and the combined `runtime up` command. Submit again after the required preparation succeeds.
183
+
184
+ The Worker owns execution after durable submission. `--follow` only observes it; closing or
185
+ interrupting that terminal detaches the observer and leaves the Build running. Reattach with:
186
+
187
+ ```bash
188
+ hypit status <build-id> --watch
189
+ ```
190
+
191
+ A plain `status` reads one current snapshot. `--max-wait-ms` bounds how long a caller watches; it
192
+ does not bound or cancel the Build itself.
193
+
194
+ ## Observe shared work and capacity
195
+
196
+ ```bash
197
+ hypit activity
198
+ hypit runtime status
199
+ ```
200
+
201
+ `activity` shows active Builds; `activity --verbose` also shows shared Provider capacity. The Worker may advance many unrelated
202
+ Builds together. Capacity belongs to the exact Endpoint instances, real shared pools, and any narrower
203
+ model limits declared by those Endpoints. Builds share only those actual resources, so unrelated work
204
+ can advance together.
205
+
206
+ Immediate work releases its capacity when it returns. An asynchronous Provider operation keeps its
207
+ claim while that same accepted operation is being polled to completion. Losing the execution process
208
+ ends the attempt and preserves available remote receipts; it does not resubmit the paid request.
209
+ When an action fails, the attempt ends and local reservations are released. Any last-observed remote
210
+ status remains evidence, rather than a condition the old Build must resolve before the next attempt.
211
+
212
+ `activity --verbose --json` exposes actual resource claims when capacity explains a wait.
213
+ Task occupancy, overlapping network actions and starts permitted per time period are different
214
+ quantities. [Runtime profiles](../environment/profile.md) owns their configuration and selection;
215
+ the selected Provider's documentation owns its available settings.
216
+
217
+ ## Separate active work from Result outcome
218
+
219
+ Runtime activity describes what is happening now. The finished Result records one outcome:
220
+ `complete`, `failed`, or `cancelled`. These are different facts. `status` reads both sources and may
221
+ therefore show, for example, a decided failure whose completed public Outputs are still being written
222
+ to its Result.
223
+
224
+ A failed or cancelled Build can retain useful public Outputs completed before its outcome. Inspect
225
+ them normally. Cancellation withdraws work that has not begun and asks an Endpoint once to cancel an
226
+ already submitted operation when it supports that; accepted completed output is retained.
227
+
228
+ If Result storage or cleanup fails after execution has decided its outcome, `status` reports operator
229
+ attention and the exact action:
230
+
231
+ ```bash
232
+ hypit result finish <build-id>
233
+ ```
234
+
235
+ That command writes from already accepted execution facts and working Resources. It does not invoke a
236
+ Producer, resubmit generation, or choose another Candidate. Use it only for the Result write named by
237
+ `status`. `hypit result discard <build-id>` applies only to an incomplete submission that never became
238
+ active and has no Result to finish.
239
+
240
+ When the user asks to stop submitted work, cancel that exact Build explicitly:
241
+
242
+ ```bash
243
+ hypit cancel <build-id> --reason "superseded by the corrected Run"
244
+ ```
245
+
246
+ Check the reported state afterward. Detaching the observer does not send this cancellation, and a
247
+ cancellation request cannot undo already completed Provider work. Preserve completed usable Outputs
248
+ and leave unrelated Builds alone.
249
+
250
+ `runtime down` stops the coordinator and its execution processes for that Runtime. An unfinished
251
+ Build that loses its execution context ends that attempt; starting the Worker again does not resume
252
+ it. Completed Outputs and recorded receipts remain available for explicit reuse in a new Build.
253
+ Stopping the Worker does not itself cancel remote Provider work; use `cancel` for a selected Build
254
+ while its execution context is available.
255
+
256
+ ## Browse and export project Results
257
+
258
+ ```bash
259
+ hypit builds
260
+ hypit inspect <build-id>
261
+ hypit history <public-output-name>
262
+ hypit get <build-id> --output <public-output-name> --to <destination>
263
+ ```
264
+
265
+ `builds` lists finished project Results newest first. `inspect` shows one Result's Targets,
266
+ highlighted Outputs and outcome. Use `inspect <build-id> --output <public-output-name>` for a known
267
+ Output, or `--verbose` to browse all available names and receipts. A Result can expose many forwarded
268
+ Outputs from earlier work; this inventory does not mean those files were generated or copied again.
269
+ `history` finds one named Output across Results, including reuse; it does not select one for the
270
+ current Run. `get` exports one named Output to one explicit destination:
271
+
272
+ - a Scalar becomes a JSON file;
273
+ - a Resource becomes one streamed file;
274
+ - a Composite becomes a directory containing `value.json` and its referenced Resources.
275
+
276
+ The destination remains a user-facing export. The original Result stays in the project's selected
277
+ repository. The default filesystem repository lives under the project; `hypit.results.json` may
278
+ select another adapter such as S3 without changing these commands or the Run.
279
+
280
+ Give useful Results presentation metadata when it helps people and Studio find them:
281
+
282
+ ```bash
283
+ hypit result edit <build-id> --title "podcast take · coral captions" \
284
+ --note "speaker timing and framing for the current production" \
285
+ --highlight podcast-take.video
286
+ ```
287
+
288
+ The title, note, and highlights live in that Result manifest. They do not rename its public Outputs
289
+ or create a project-wide history index. Reuse still names the exact Build id and Output through the
290
+ Run mechanism in `authoring.md`.
291
+
292
+ ## Select the Result repository deliberately
293
+
294
+ Result storage belongs to the video project. The official default is the filesystem repository at
295
+ `.hypit/results`. An explicit `hypit.results.json` selects an adapter with the envelope
296
+ `format: "hypit.build-results@1"`, `use` and adapter-owned `config`. Read the installed
297
+ `@hypit/build-result-fs` README for a custom filesystem path, or `@hypit/build-result-s3` for bucket,
298
+ prefix, deployment options and its credential setup. `hypit.results.json` owns Result storage;
299
+ the Runtime Profile owns execution, and the S3 adapter owns its credentials.
300
+
301
+ `hypit paths` locates the project; `hypit doctor` checks its selected repository, even without a
302
+ Runtime Profile. Result listing, export, history and Studio's finished library read that repository.
303
+ If expected Results are absent, first check the selected project and Result repository.
304
+
305
+ A submitted Build retains the repository destination captured at submission. Changing the project
306
+ selection while it runs does not redirect its eventual Result. Use the original destination to
307
+ find that Result; changing a selection does not migrate earlier history. Preserve any Result that
308
+ still supplies a Run Candidate: exported files are optional copies, and explicit reuse may still
309
+ reference Resources in the original Result.
310
+
311
+ [Project handoff](../creation/project-files.md#hand-over-an-editable-production) explains carrying
312
+ those Results and the authored work to another machine or collaborator.
313
+
314
+ ## Build with the current project implementation
315
+
316
+ Each normal local Build receives its own loaded project implementation and selected Provider
317
+ configuration. Edit project components or the Profile, then create a new Build;
318
+ previously started work keeps its loaded implementation. Reuse completed material through the Run
319
+ when changing composition. Warm services such as WhisperX remain available across Builds.
320
+
321
+ Concurrent Builds share execution infrastructure; remote waiting does not reserve a whole-Build slot.
322
+ A lost executor ends its affected attempts; completed Outputs and available remote receipts are
323
+ retained. Continue with a new Build and explicit reuse. This execution boundary does not freeze files
324
+ that a component chooses to read later.
325
+
326
+ Changing the installed Distribution or the coordinator's inherited shell environment is a separate
327
+ bootstrap change. Inspect `hypit activity` before restarting that Worker. External writable credential
328
+ stores may expose updated values directly; environment-backed credentials use the environment in
329
+ which the coordinator was started. `hypit runtime down` stops the Worker and its active executors;
330
+ Managed Programs have their own lifetime.
@@ -0,0 +1,156 @@
1
+ # Writing a Caption family
2
+
3
+ Read this when a work needs a new relationship among its spoken words, layout and motion.
4
+ [Caption craft](../playbooks/craft/captions.md) owns readability and directing judgment;
5
+ [Caption styling and coverage](caption-presentation.md) owns applying visible and hidden Styles;
6
+ [Track authoring](track-authoring.md) owns project package wiring.
7
+ [Fonts and text](fonts-and-text.md) explains exact font resources and fallbacks;
8
+ [component visuals](component-visuals.md) explains the final drawing representation.
9
+ [Component design](component-design.md) connects a new family's visual idea to useful author controls
10
+ and its fit beside the rest of the video.
11
+
12
+ ## Decide what is actually new
13
+
14
+ Fine Caption already covers uniform flowing text with exact fonts, Paint, boxes, karaoke states,
15
+ placement and motion. Different colors, Role styles, cue entrances or head tracking may only require
16
+ Source and Recipe changes. A keyword occupying a separate oversized line, words playing different
17
+ visual roles, or a recurring spatial relationship among speakers can justify a new family directly.
18
+ Creating that family is normal video production. Name the family for the visual relationship it
19
+ makes reusable, and name each Style for a particular treatment within it. A project can also own a
20
+ single-use caption composition when that is what the video needs.
21
+
22
+ The result is still Caption when the displayed words correspond to speech and remain close to its
23
+ delivery. Independent slogans, summaries and titles usually belong to Typography even if they react
24
+ to a Script Moment.
25
+
26
+ ## Own the visual relationship
27
+
28
+ Performance presents placed footage; Media supplies independent pictures. A scene component can
29
+ coordinate either with diagrams or other graphics. Fine and custom Caption families have the same relationship. Their shared input is the
30
+ authored speech and its semantic timing; the implementation owns the spatial structure and motion.
31
+
32
+ Start from what the viewer should understand or feel. A supporting phrase might establish the
33
+ thought while its key word takes the emphasis. Design how they enter, share space, respond to speech
34
+ and hand off to the next thought. That relationship suggests useful controls: the word's authored
35
+ role, fonts, relative sizes, placement and motion. Put the choices the production actually needs to direct in its Style/Recipe and the arrangement
36
+ in the renderer. A qualitative mode and a numeric field need the same justification; fixed decorative
37
+ details can remain local. [Component design](component-design.md#expose-the-choices-the-work-needs)
38
+ owns that interface decision.
39
+
40
+ The output remains an ordinary VisualTrack. Its Presents can own trees of text, boxes, images and
41
+ other visual elements. When words and graphics share layout or motion, they can live in the same
42
+ component. [Component visuals](component-visuals.md#compose-video-and-graphics-in-one-browser-program)
43
+ also describes HTML/CSS browser programs with typed media and text children. That drawing freedom
44
+ applies to captions too: give the program the resolved caption schedule and explicit resources,
45
+ and evaluate its state at the requested frame. Keep separately useful overlays as peers.
46
+
47
+ ## Keep the existing text and timing chain
48
+
49
+ ```text
50
+ Script → CaptionDocument (displayed words, Cue breaks and word attributes)
51
+ CaptionDocument + Timeline → complete timed Cues and original word times
52
+ Track Uses → resolved time windows, Styles and optional speaker filters
53
+ complete Cues + Uses + family parameters → family schedule → VisualTrack
54
+ ```
55
+
56
+ Consume each display word's `separatorBefore` with its `text`; never rebuild wording by joining
57
+ speech Tokens with spaces or guessing from a writing system. Suppress a separator at the start of
58
+ a displayed Cue/line. Use the same authored boundaries in base glyphs, active layers and backgrounds.
59
+ Separators are display content, not timed Tokens.
60
+
61
+ Use `@hypit/hypit/caption` for content timing and Use coverage, and `@hypit/hypit/narrative` for
62
+ Script document types. A family Track accepts `document`, `timeline` and ordered `Use` children:
63
+
64
+ ```svml
65
+ <keyword:Track id="captions" document={story.caption} timeline={program.timeline}>
66
+ <keyword:Use style={base-style}/>
67
+ <keyword:Use role="GUEST" style={guest-style}/>
68
+ <keyword:Use during={story.selection.punchline} style={punchline-style}/>
69
+ </keyword:Track>
70
+ ```
71
+
72
+ These names assume the project family and its Styles have been declared. Reuse the common time
73
+ projection helpers for `during`, `at`/`for`, `until`/`for` and `start`/`end`. A Use has the same
74
+ meaning regardless of the family. `role` filters whose content it presents within that window.
75
+
76
+ For a keyword layout, Script can mark `useful{emphasis}`. The family reads that attribute from the
77
+ CaptionDocument and gives it a visual role within the complete Cue. The word role and the time
78
+ window answer different questions; an emphasis attribute does not invent another time language.
79
+
80
+ ## Design a family-specific schedule
81
+
82
+ Separate measured speech time from visible time. Preserve each alignment unit's measured boundaries
83
+ and identity; resolve lead, tail, stagger, hold and handoff into an explicit schedule before rendering.
84
+ The renderer draws that schedule. Preserve a Cue's original animation origin and apply the
85
+ winning Use window as a separate visibility mask. A window starting midway through a Cue still
86
+ receives the complete Cue and original word times. It can change appearance without restarting
87
+ karaoke or text reveal.
88
+
89
+ For a “large keyword plus supporting phrase” family, the schedule might identify each Cue's display
90
+ words, its emphasized word ids, their measured units and the visible interval of the two groups.
91
+ Its layout then computes the two groups together. Decide what happens with no keyword, several
92
+ keywords, long text and an N:M pronunciation span. Make author correction possible through word
93
+ attributes, `||` and Style configuration instead of inventing missing text or dropping words.
94
+
95
+ The common projection respects authored Cue breaks and structural boundaries. Visual line wrapping
96
+ is a separate operation. A narrow width should not silently rewrite the Script into new spoken Cues.
97
+ If the family needs an additional grouping rule, give that rule explicit parameters and preserve the
98
+ original word/unit associations in the schedule.
99
+
100
+ Display Words reflect Script's lexical units: a Han character is normally one Word, while an
101
+ English word is normally one Word. Keep that timing granularity separate from visual grouping.
102
+ Use each word's authored `separatorBefore` and `text`, including attached punctuation; derive no gaps
103
+ from the writing system. Measure with the selected fonts' actual widths. Exercise Chinese with an
104
+ intentional space, Korean word spaces, and mixed numeric/Latin spellings when the family carries them.
105
+
106
+ For speech-following emphasis, activate each complete unit from its projected start and end.
107
+ A Cue-wide left-to-right progress bar follows elapsed time and text width, which is a different
108
+ effect from following spoken characters. Keep within-glyph wiping an explicit visual choice.
109
+ Use uneven unit durations and a pause in a short example to check that the chosen effect follows
110
+ the intended clock.
111
+
112
+ `caption:Hidden` supplies a Style with `rendering: null`. It takes part in later-Use precedence,
113
+ clearing this Track's presentation in its window; a later visible Use can restore a smaller window.
114
+ Use `captionUseVisibility` to resolve that coverage for each Cue's speaker. The content projection
115
+ retains all Cues regardless of Style. Empty or uncovered time naturally produces no drawing.
116
+
117
+ ## Give Style, layout and rendering clear owners
118
+
119
+ The Style Surface validates a Recipe and exact font references, then emits the common Caption Style
120
+ shape with the new family's name and parameters. The Track Surface accepts the document,
121
+ Timeline and timed Use children; its Fragment assembles the Uses, performs the common timing join,
122
+ and runs its own schedule and render operations. Register the new family's Producers and any new schedule Type in its own package.
123
+
124
+ The renderer owns typography, structural relationships, stacking and motion. Use the existing text
125
+ shaping and Visual IR facilities with explicit font resources, including selected local font files,
126
+ so the same faces reach the rendering machine.
127
+ Read `@hypit/caption-fine`'s `surface.ts`, `schedule.ts` and `render.ts` as separate implementation
128
+ examples. Reuse the common parts and replace the actual family behavior, including its parameter
129
+ validation; renaming Fine while retaining its uniform-word assumption will not implement a structural
130
+ keyword treatment.
131
+
132
+ The chosen family interprets its own Styles. Fine handles its uniform-flow Styles; a structural
133
+ family handles its own layouts. Each Track is independent, so multiple Tracks can intentionally
134
+ show captions together or use complementary coverage. Mixed-family rendering, if useful, belongs
135
+ to the component that implements it.
136
+
137
+ If this family supports spatial tracking, take an explicit RegionTimeline and map it into the actual
138
+ composition. Define subject matching and absent-region behavior. Detection belongs to the measurement
139
+ step described in [Caption tracking](../playbooks/craft/caption-tracking.md), not to this renderer.
140
+
141
+ ## Check the relationships that matter
142
+
143
+ Use a short Script with a normal phrase, the new structural treatment, a Role change and a Dual Text
144
+ unit. Verify displayed words and their association with measured speech, then inspect the new layout
145
+ at the intended frame size and around its handoffs. Check long words, overflow and direct seeking
146
+ where relevant. A still can show typography; only the configured timeline establishes timing.
147
+
148
+ Expose the family with useful vocabulary and a designed preview. Keep wording, font choices, palette
149
+ and authored word roles editable in the project. The package adds its rendering language while
150
+ consuming the existing Script, Caption and semantic-time owners.
151
+
152
+ For live Cue entities and Inspector editing, add a [Studio Companion](studio.md#give-a-project-component-a-useful-companion)
153
+ that presents complete Cue content and authored Uses as separate lanes. Read the Track's resolved
154
+ Use collection, retain each child's Source range and temporal lineage, and expose the referenced
155
+ Style on that Use. Caption Fine's
156
+ Companion is a useful example of these relationships; the new family's layout stays in its renderer.
@@ -0,0 +1,66 @@
1
+ # Caption presentation
2
+
3
+ Read this to apply subtitle treatments, change them during a passage, or hide them temporarily.
4
+ [Caption craft](../playbooks/craft/captions.md) owns visual direction;
5
+ [Caption authoring](caption-authoring.md) explains creating a new family.
6
+
7
+ **Script organizes content; Use organizes presentation in time.** `||` determines which words belong
8
+ together. The Track joins `document={story.caption}` to the placed `timeline`, preserving displayed
9
+ text and pronunciation associations. Each Use selects a complete Style inside a time window.
10
+
11
+ ```svml
12
+ <caption:Hidden id="hidden"/>
13
+ <caption-fine:Track id="captions" document={story.caption} timeline={program.timeline}>
14
+ <caption-fine:Use style={base-style}/>
15
+ <caption-fine:Use role="GUEST" style={guest-style}/>
16
+ <caption-fine:Use during={story.selection.answer} style={answer-style}/>
17
+ <caption-fine:Use during={story.selection.demonstration} style={hidden}/>
18
+ <caption-fine:Use at={story.moment.key} for="2s" style={impact-style}/>
19
+ </caption-fine:Track>
20
+ ```
21
+
22
+ Styles are declared by the chosen family. Fine Styles take a Recipe and exact fonts. A new structural
23
+ caption can use a project family with its own layout and behavior.
24
+
25
+ ## One time language
26
+
27
+ | Intent | Use |
28
+ | --- | --- |
29
+ | A treatment across the whole Timeline | `style={base}` with no time attributes |
30
+ | Follow a semantic passage | `during={story.selection.answer}` |
31
+ | Follow a placed Segment | `during={story.segment.answer}` |
32
+ | Start at a meaningful word, for a fixed duration | `at={story.moment.key} for="2s"` |
33
+ | End at a meaningful event | `until={story.moment.key} for="12f"` |
34
+ | Explicit window | `start="8s" end="10s"` |
35
+ | A particular speaker | Add `role="GUEST"` to any of these |
36
+
37
+ [Timing](timing.md) owns the shared expressions and semantic references.
38
+ Use semantic boundaries when the treatment follows what is being said. Absolute times remain useful
39
+ for an explicitly timed presentation. A Role filters whose content is presented, independently of the
40
+ window: it can cover several turns and does not change the Window shown in Studio.
41
+
42
+ The last matching Use in Source order wins locally. Each match replaces the whole Style; properties
43
+ are not merged. A hidden Use clears this Track's subtitle presentation throughout that window,
44
+ including neighboring Cue lead/tail. Later Uses can restore a smaller interval. Audio and content
45
+ stay unchanged. With no matching Use, nothing is drawn. With no subtitle content, a Use has nothing
46
+ to draw. Independent Caption Tracks can intentionally show multiple presentations at the same time.
47
+
48
+ ## A style change can happen inside a Cue
49
+
50
+ ```text
51
+ test1 || test2 @{select} test3 || test4 @{/select}
52
+ ```
53
+
54
+ This contains three Cues: `test1`, `test2 test3`, and `test4`. The Selection starts before `test3`;
55
+ it does not split `test2 test3`. With a broad ordinary Use and a later emphasized Use during `select`,
56
+ the complete second Cue changes Style at that boundary, then the third Cue uses the same emphasis.
57
+
58
+ Word times remain the original times. Karaoke or text reveal therefore continues at the appropriate
59
+ word when the Style changes or returns after a hidden interval. The Window limits visibility; it does
60
+ not restart the Cue's animation clock. Changing only one word's visual role is a different design
61
+ choice: Fine provides current/trail unit emphasis, while a custom family can interpret authored word
62
+ attributes for structural layouts. Display/pronunciation units remain complete.
63
+
64
+ In Studio, the content row shows Cues and the Uses row shows authored windows. Select a Use to edit
65
+ its time or referenced Style. Moving the Use does not move `||`. Inspect the resulting placement,
66
+ handoffs and emphasis alongside the other visuals while reusing the existing media.