videoclaw 3.0.0-alpha.7 → 3.0.0-alpha.9

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 (1081) hide show
  1. package/CLAUDE.md +49 -11
  2. package/README.md +23 -5
  3. package/assets/review-station/index.html +11 -1
  4. package/dist/cli/args.js +7 -7
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/handlers/analysis.d.ts +24 -0
  7. package/dist/cli/handlers/analysis.d.ts.map +1 -1
  8. package/dist/cli/handlers/analysis.js +174 -0
  9. package/dist/cli/handlers/analysis.js.map +1 -1
  10. package/dist/cli/handlers/batch.d.ts.map +1 -1
  11. package/dist/cli/handlers/batch.js +65 -197
  12. package/dist/cli/handlers/batch.js.map +1 -1
  13. package/dist/cli/handlers/candidates.d.ts.map +1 -1
  14. package/dist/cli/handlers/candidates.js +178 -58
  15. package/dist/cli/handlers/candidates.js.map +1 -1
  16. package/dist/cli/handlers/character.d.ts.map +1 -1
  17. package/dist/cli/handlers/character.js +11 -7
  18. package/dist/cli/handlers/character.js.map +1 -1
  19. package/dist/cli/handlers/cinema-archive.d.ts +3 -0
  20. package/dist/cli/handlers/cinema-archive.d.ts.map +1 -0
  21. package/dist/cli/handlers/cinema-archive.js +32 -0
  22. package/dist/cli/handlers/cinema-archive.js.map +1 -0
  23. package/dist/cli/handlers/cinema-candidate.d.ts +4 -0
  24. package/dist/cli/handlers/cinema-candidate.d.ts.map +1 -0
  25. package/dist/cli/handlers/cinema-candidate.js +119 -0
  26. package/dist/cli/handlers/cinema-candidate.js.map +1 -0
  27. package/dist/cli/handlers/cinema-delivery.d.ts +2 -0
  28. package/dist/cli/handlers/cinema-delivery.d.ts.map +1 -0
  29. package/dist/cli/handlers/cinema-delivery.js +13 -0
  30. package/dist/cli/handlers/cinema-delivery.js.map +1 -0
  31. package/dist/cli/handlers/cinema-execution.d.ts +5 -0
  32. package/dist/cli/handlers/cinema-execution.d.ts.map +1 -0
  33. package/dist/cli/handlers/cinema-execution.js +510 -0
  34. package/dist/cli/handlers/cinema-execution.js.map +1 -0
  35. package/dist/cli/handlers/cinema-history.d.ts +2 -0
  36. package/dist/cli/handlers/cinema-history.d.ts.map +1 -0
  37. package/dist/cli/handlers/cinema-history.js +55 -0
  38. package/dist/cli/handlers/cinema-history.js.map +1 -0
  39. package/dist/cli/handlers/cinema-migration.d.ts +2 -0
  40. package/dist/cli/handlers/cinema-migration.d.ts.map +1 -0
  41. package/dist/cli/handlers/cinema-migration.js +88 -0
  42. package/dist/cli/handlers/cinema-migration.js.map +1 -0
  43. package/dist/cli/handlers/cinema.d.ts +11 -0
  44. package/dist/cli/handlers/cinema.d.ts.map +1 -0
  45. package/dist/cli/handlers/cinema.js +685 -0
  46. package/dist/cli/handlers/cinema.js.map +1 -0
  47. package/dist/cli/handlers/create.d.ts.map +1 -1
  48. package/dist/cli/handlers/create.js +7 -6
  49. package/dist/cli/handlers/create.js.map +1 -1
  50. package/dist/cli/handlers/creator-demo.d.ts +2 -0
  51. package/dist/cli/handlers/creator-demo.d.ts.map +1 -0
  52. package/dist/cli/handlers/creator-demo.js +34 -0
  53. package/dist/cli/handlers/creator-demo.js.map +1 -0
  54. package/dist/cli/handlers/creator-ui.d.ts +2 -0
  55. package/dist/cli/handlers/creator-ui.d.ts.map +1 -0
  56. package/dist/cli/handlers/creator-ui.js +20 -0
  57. package/dist/cli/handlers/creator-ui.js.map +1 -0
  58. package/dist/cli/handlers/execution.d.ts +1 -4
  59. package/dist/cli/handlers/execution.d.ts.map +1 -1
  60. package/dist/cli/handlers/execution.js +171 -106
  61. package/dist/cli/handlers/execution.js.map +1 -1
  62. package/dist/cli/handlers/lane.d.ts +2 -0
  63. package/dist/cli/handlers/lane.d.ts.map +1 -0
  64. package/dist/cli/handlers/lane.js +160 -0
  65. package/dist/cli/handlers/lane.js.map +1 -0
  66. package/dist/cli/handlers/library.js +2 -2
  67. package/dist/cli/handlers/library.js.map +1 -1
  68. package/dist/cli/handlers/media-ops.d.ts.map +1 -1
  69. package/dist/cli/handlers/media-ops.js +29 -1
  70. package/dist/cli/handlers/media-ops.js.map +1 -1
  71. package/dist/cli/handlers/media-production.d.ts.map +1 -1
  72. package/dist/cli/handlers/media-production.js +101 -0
  73. package/dist/cli/handlers/media-production.js.map +1 -1
  74. package/dist/cli/handlers/mograph.d.ts +5 -0
  75. package/dist/cli/handlers/mograph.d.ts.map +1 -0
  76. package/dist/cli/handlers/mograph.js +397 -0
  77. package/dist/cli/handlers/mograph.js.map +1 -0
  78. package/dist/cli/handlers/multi-shot.d.ts.map +1 -1
  79. package/dist/cli/handlers/multi-shot.js +140 -19
  80. package/dist/cli/handlers/multi-shot.js.map +1 -1
  81. package/dist/cli/handlers/prompt-craft.d.ts.map +1 -1
  82. package/dist/cli/handlers/prompt-craft.js +84 -24
  83. package/dist/cli/handlers/prompt-craft.js.map +1 -1
  84. package/dist/cli/handlers/provider-registration.d.ts.map +1 -1
  85. package/dist/cli/handlers/provider-registration.js +13 -12
  86. package/dist/cli/handlers/provider-registration.js.map +1 -1
  87. package/dist/cli/handlers/publish-platform.d.ts +3 -0
  88. package/dist/cli/handlers/publish-platform.d.ts.map +1 -0
  89. package/dist/cli/handlers/publish-platform.js +142 -0
  90. package/dist/cli/handlers/publish-platform.js.map +1 -0
  91. package/dist/cli/handlers/reference-sheets.d.ts.map +1 -1
  92. package/dist/cli/handlers/reference-sheets.js +10 -10
  93. package/dist/cli/handlers/reference-sheets.js.map +1 -1
  94. package/dist/cli/handlers/review-portal.d.ts.map +1 -1
  95. package/dist/cli/handlers/review-portal.js +3 -1
  96. package/dist/cli/handlers/review-portal.js.map +1 -1
  97. package/dist/cli/handlers/stages.d.ts.map +1 -1
  98. package/dist/cli/handlers/stages.js +56 -0
  99. package/dist/cli/handlers/stages.js.map +1 -1
  100. package/dist/cli/handlers/stock.d.ts +3 -0
  101. package/dist/cli/handlers/stock.d.ts.map +1 -0
  102. package/dist/cli/handlers/stock.js +133 -0
  103. package/dist/cli/handlers/stock.js.map +1 -0
  104. package/dist/cli/handlers/studio.d.ts.map +1 -1
  105. package/dist/cli/handlers/studio.js +23 -0
  106. package/dist/cli/handlers/studio.js.map +1 -1
  107. package/dist/cli/json-input.d.ts +3 -0
  108. package/dist/cli/json-input.d.ts.map +1 -0
  109. package/dist/cli/json-input.js +22 -0
  110. package/dist/cli/json-input.js.map +1 -0
  111. package/dist/cli/provider-adapter.js +41 -12
  112. package/dist/cli/provider-adapter.js.map +1 -1
  113. package/dist/cli/vclaw.d.ts.map +1 -1
  114. package/dist/cli/vclaw.js +89 -7
  115. package/dist/cli/vclaw.js.map +1 -1
  116. package/dist/index.d.ts +74 -0
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +42 -0
  119. package/dist/index.js.map +1 -1
  120. package/dist/video/artifact-validation.d.ts.map +1 -1
  121. package/dist/video/artifact-validation.js +13 -0
  122. package/dist/video/artifact-validation.js.map +1 -1
  123. package/dist/video/artifacts.d.ts +31 -1
  124. package/dist/video/artifacts.d.ts.map +1 -1
  125. package/dist/video/artifacts.js.map +1 -1
  126. package/dist/video/assemble/assemble.d.ts.map +1 -1
  127. package/dist/video/assemble/assemble.js +170 -26
  128. package/dist/video/assemble/assemble.js.map +1 -1
  129. package/dist/video/assemble/ffmpeg.d.ts +24 -0
  130. package/dist/video/assemble/ffmpeg.d.ts.map +1 -1
  131. package/dist/video/assemble/ffmpeg.js +93 -0
  132. package/dist/video/assemble/ffmpeg.js.map +1 -1
  133. package/dist/video/assemble/media-qc.d.ts +77 -2
  134. package/dist/video/assemble/media-qc.d.ts.map +1 -1
  135. package/dist/video/assemble/media-qc.js +177 -4
  136. package/dist/video/assemble/media-qc.js.map +1 -1
  137. package/dist/video/assemble/pdf.d.ts.map +1 -1
  138. package/dist/video/assemble/pdf.js +0 -1
  139. package/dist/video/assemble/pdf.js.map +1 -1
  140. package/dist/video/assemble/stitch.d.ts +102 -0
  141. package/dist/video/assemble/stitch.d.ts.map +1 -1
  142. package/dist/video/assemble/stitch.js +208 -21
  143. package/dist/video/assemble/stitch.js.map +1 -1
  144. package/dist/video/assemble/title-card.js.map +1 -1
  145. package/dist/video/assemble/types.d.ts +59 -0
  146. package/dist/video/assemble/types.d.ts.map +1 -1
  147. package/dist/video/atomic-write.d.ts.map +1 -1
  148. package/dist/video/atomic-write.js +9 -3
  149. package/dist/video/atomic-write.js.map +1 -1
  150. package/dist/video/audio-platform/measure.d.ts +11 -0
  151. package/dist/video/audio-platform/measure.d.ts.map +1 -0
  152. package/dist/video/audio-platform/measure.js +57 -0
  153. package/dist/video/audio-platform/measure.js.map +1 -0
  154. package/dist/video/blueprint-prompt.d.ts +1 -1
  155. package/dist/video/blueprint-prompt.js +1 -1
  156. package/dist/video/brand-prompt.d.ts +1 -1
  157. package/dist/video/brand-prompt.js +1 -1
  158. package/dist/video/category-registry.d.ts.map +1 -1
  159. package/dist/video/category-registry.js +10 -1
  160. package/dist/video/category-registry.js.map +1 -1
  161. package/dist/video/character-auto-create.d.ts +51 -0
  162. package/dist/video/character-auto-create.d.ts.map +1 -1
  163. package/dist/video/character-auto-create.js +75 -33
  164. package/dist/video/character-auto-create.js.map +1 -1
  165. package/dist/video/cinema-archive.d.ts +89 -0
  166. package/dist/video/cinema-archive.d.ts.map +1 -0
  167. package/dist/video/cinema-archive.js +288 -0
  168. package/dist/video/cinema-archive.js.map +1 -0
  169. package/dist/video/cinema-asset-lifecycle.d.ts +30 -0
  170. package/dist/video/cinema-asset-lifecycle.d.ts.map +1 -0
  171. package/dist/video/cinema-asset-lifecycle.js +32 -0
  172. package/dist/video/cinema-asset-lifecycle.js.map +1 -0
  173. package/dist/video/cinema-asset-registry.d.ts +48 -0
  174. package/dist/video/cinema-asset-registry.d.ts.map +1 -0
  175. package/dist/video/cinema-asset-registry.js +54 -0
  176. package/dist/video/cinema-asset-registry.js.map +1 -0
  177. package/dist/video/cinema-assurance.d.ts +104 -0
  178. package/dist/video/cinema-assurance.d.ts.map +1 -0
  179. package/dist/video/cinema-assurance.js +171 -0
  180. package/dist/video/cinema-assurance.js.map +1 -0
  181. package/dist/video/cinema-candidate-bridge.d.ts +49 -0
  182. package/dist/video/cinema-candidate-bridge.d.ts.map +1 -0
  183. package/dist/video/cinema-candidate-bridge.js +196 -0
  184. package/dist/video/cinema-candidate-bridge.js.map +1 -0
  185. package/dist/video/cinema-candidate-review.d.ts +77 -0
  186. package/dist/video/cinema-candidate-review.d.ts.map +1 -0
  187. package/dist/video/cinema-candidate-review.js +252 -0
  188. package/dist/video/cinema-candidate-review.js.map +1 -0
  189. package/dist/video/cinema-chain-fallback.d.ts +33 -0
  190. package/dist/video/cinema-chain-fallback.d.ts.map +1 -0
  191. package/dist/video/cinema-chain-fallback.js +182 -0
  192. package/dist/video/cinema-chain-fallback.js.map +1 -0
  193. package/dist/video/cinema-compatibility-local-worker.d.ts +22 -0
  194. package/dist/video/cinema-compatibility-local-worker.d.ts.map +1 -0
  195. package/dist/video/cinema-compatibility-local-worker.js +180 -0
  196. package/dist/video/cinema-compatibility-local-worker.js.map +1 -0
  197. package/dist/video/cinema-compatibility-quote.d.ts +80 -0
  198. package/dist/video/cinema-compatibility-quote.d.ts.map +1 -0
  199. package/dist/video/cinema-compatibility-quote.js +292 -0
  200. package/dist/video/cinema-compatibility-quote.js.map +1 -0
  201. package/dist/video/cinema-compatibility-worker.d.ts +62 -0
  202. package/dist/video/cinema-compatibility-worker.d.ts.map +1 -0
  203. package/dist/video/cinema-compatibility-worker.js +483 -0
  204. package/dist/video/cinema-compatibility-worker.js.map +1 -0
  205. package/dist/video/cinema-console-generate.d.ts +8 -0
  206. package/dist/video/cinema-console-generate.d.ts.map +1 -0
  207. package/dist/video/cinema-console-generate.js +17 -0
  208. package/dist/video/cinema-console-generate.js.map +1 -0
  209. package/dist/video/cinema-console-projection.d.ts +25 -0
  210. package/dist/video/cinema-console-projection.d.ts.map +1 -0
  211. package/dist/video/cinema-console-projection.js +213 -0
  212. package/dist/video/cinema-console-projection.js.map +1 -0
  213. package/dist/video/cinema-console-render.d.ts +3 -0
  214. package/dist/video/cinema-console-render.d.ts.map +1 -0
  215. package/dist/video/cinema-console-render.js +126 -0
  216. package/dist/video/cinema-console-render.js.map +1 -0
  217. package/dist/video/cinema-console-types.d.ts +220 -0
  218. package/dist/video/cinema-console-types.d.ts.map +1 -0
  219. package/dist/video/cinema-console-types.js +2 -0
  220. package/dist/video/cinema-console-types.js.map +1 -0
  221. package/dist/video/cinema-continuity-types.d.ts +119 -0
  222. package/dist/video/cinema-continuity-types.d.ts.map +1 -0
  223. package/dist/video/cinema-continuity-types.js +2 -0
  224. package/dist/video/cinema-continuity-types.js.map +1 -0
  225. package/dist/video/cinema-continuity.d.ts +11 -0
  226. package/dist/video/cinema-continuity.d.ts.map +1 -0
  227. package/dist/video/cinema-continuity.js +240 -0
  228. package/dist/video/cinema-continuity.js.map +1 -0
  229. package/dist/video/cinema-delivery.d.ts +70 -0
  230. package/dist/video/cinema-delivery.d.ts.map +1 -0
  231. package/dist/video/cinema-delivery.js +300 -0
  232. package/dist/video/cinema-delivery.js.map +1 -0
  233. package/dist/video/cinema-direct-ai-film-migration.d.ts +93 -0
  234. package/dist/video/cinema-direct-ai-film-migration.d.ts.map +1 -0
  235. package/dist/video/cinema-direct-ai-film-migration.js +583 -0
  236. package/dist/video/cinema-direct-ai-film-migration.js.map +1 -0
  237. package/dist/video/cinema-evidence-store.d.ts +10 -0
  238. package/dist/video/cinema-evidence-store.d.ts.map +1 -0
  239. package/dist/video/cinema-evidence-store.js +65 -0
  240. package/dist/video/cinema-evidence-store.js.map +1 -0
  241. package/dist/video/cinema-evidence-types.d.ts +65 -0
  242. package/dist/video/cinema-evidence-types.d.ts.map +1 -0
  243. package/dist/video/cinema-evidence-types.js +2 -0
  244. package/dist/video/cinema-evidence-types.js.map +1 -0
  245. package/dist/video/cinema-evidence.d.ts +18 -0
  246. package/dist/video/cinema-evidence.d.ts.map +1 -0
  247. package/dist/video/cinema-evidence.js +172 -0
  248. package/dist/video/cinema-evidence.js.map +1 -0
  249. package/dist/video/cinema-file-lock.d.ts +2 -0
  250. package/dist/video/cinema-file-lock.d.ts.map +1 -0
  251. package/dist/video/cinema-file-lock.js +55 -0
  252. package/dist/video/cinema-file-lock.js.map +1 -0
  253. package/dist/video/cinema-garment-mask.d.ts +19 -0
  254. package/dist/video/cinema-garment-mask.d.ts.map +1 -0
  255. package/dist/video/cinema-garment-mask.js +46 -0
  256. package/dist/video/cinema-garment-mask.js.map +1 -0
  257. package/dist/video/cinema-higgsfield-cli-adapter.d.ts +91 -0
  258. package/dist/video/cinema-higgsfield-cli-adapter.d.ts.map +1 -0
  259. package/dist/video/cinema-higgsfield-cli-adapter.js +308 -0
  260. package/dist/video/cinema-higgsfield-cli-adapter.js.map +1 -0
  261. package/dist/video/cinema-higgsfield-cli-runner.d.ts +3 -0
  262. package/dist/video/cinema-higgsfield-cli-runner.d.ts.map +1 -0
  263. package/dist/video/cinema-higgsfield-cli-runner.js +17 -0
  264. package/dist/video/cinema-higgsfield-cli-runner.js.map +1 -0
  265. package/dist/video/cinema-historical-import.d.ts +129 -0
  266. package/dist/video/cinema-historical-import.d.ts.map +1 -0
  267. package/dist/video/cinema-historical-import.js +362 -0
  268. package/dist/video/cinema-historical-import.js.map +1 -0
  269. package/dist/video/cinema-live-console.d.ts +23 -0
  270. package/dist/video/cinema-live-console.d.ts.map +1 -0
  271. package/dist/video/cinema-live-console.js +157 -0
  272. package/dist/video/cinema-live-console.js.map +1 -0
  273. package/dist/video/cinema-planning-store.d.ts +12 -0
  274. package/dist/video/cinema-planning-store.d.ts.map +1 -0
  275. package/dist/video/cinema-planning-store.js +142 -0
  276. package/dist/video/cinema-planning-store.js.map +1 -0
  277. package/dist/video/cinema-preflight-store.d.ts +4 -0
  278. package/dist/video/cinema-preflight-store.d.ts.map +1 -0
  279. package/dist/video/cinema-preflight-store.js +26 -0
  280. package/dist/video/cinema-preflight-store.js.map +1 -0
  281. package/dist/video/cinema-preflight.d.ts +36 -0
  282. package/dist/video/cinema-preflight.d.ts.map +1 -0
  283. package/dist/video/cinema-preflight.js +65 -0
  284. package/dist/video/cinema-preflight.js.map +1 -0
  285. package/dist/video/cinema-production-contract-compiler.d.ts +6 -0
  286. package/dist/video/cinema-production-contract-compiler.d.ts.map +1 -0
  287. package/dist/video/cinema-production-contract-compiler.js +124 -0
  288. package/dist/video/cinema-production-contract-compiler.js.map +1 -0
  289. package/dist/video/cinema-production-contract-store.d.ts +12 -0
  290. package/dist/video/cinema-production-contract-store.d.ts.map +1 -0
  291. package/dist/video/cinema-production-contract-store.js +73 -0
  292. package/dist/video/cinema-production-contract-store.js.map +1 -0
  293. package/dist/video/cinema-production-queue.d.ts +169 -0
  294. package/dist/video/cinema-production-queue.d.ts.map +1 -0
  295. package/dist/video/cinema-production-queue.js +664 -0
  296. package/dist/video/cinema-production-queue.js.map +1 -0
  297. package/dist/video/cinema-profile.d.ts +5 -0
  298. package/dist/video/cinema-profile.d.ts.map +1 -1
  299. package/dist/video/cinema-profile.js +4 -0
  300. package/dist/video/cinema-profile.js.map +1 -1
  301. package/dist/video/cinema-project-compiler.d.ts +27 -0
  302. package/dist/video/cinema-project-compiler.d.ts.map +1 -0
  303. package/dist/video/cinema-project-compiler.js +147 -0
  304. package/dist/video/cinema-project-compiler.js.map +1 -0
  305. package/dist/video/cinema-project-console-load.d.ts +4 -0
  306. package/dist/video/cinema-project-console-load.d.ts.map +1 -0
  307. package/dist/video/cinema-project-console-load.js +72 -0
  308. package/dist/video/cinema-project-console-load.js.map +1 -0
  309. package/dist/video/cinema-project-console.d.ts +30 -0
  310. package/dist/video/cinema-project-console.d.ts.map +1 -0
  311. package/dist/video/cinema-project-console.js +198 -0
  312. package/dist/video/cinema-project-console.js.map +1 -0
  313. package/dist/video/cinema-project-planner.d.ts +52 -0
  314. package/dist/video/cinema-project-planner.d.ts.map +1 -0
  315. package/dist/video/cinema-project-planner.js +199 -0
  316. package/dist/video/cinema-project-planner.js.map +1 -0
  317. package/dist/video/cinema-provider-contracts.d.ts +15 -0
  318. package/dist/video/cinema-provider-contracts.d.ts.map +1 -0
  319. package/dist/video/cinema-provider-contracts.js +215 -0
  320. package/dist/video/cinema-provider-contracts.js.map +1 -0
  321. package/dist/video/cinema-provider-projection.d.ts +57 -0
  322. package/dist/video/cinema-provider-projection.d.ts.map +1 -0
  323. package/dist/video/cinema-provider-projection.js +136 -0
  324. package/dist/video/cinema-provider-projection.js.map +1 -0
  325. package/dist/video/cinema-provider-store.d.ts +35 -0
  326. package/dist/video/cinema-provider-store.d.ts.map +1 -0
  327. package/dist/video/cinema-provider-store.js +144 -0
  328. package/dist/video/cinema-provider-store.js.map +1 -0
  329. package/dist/video/cinema-provider-types.d.ts +106 -0
  330. package/dist/video/cinema-provider-types.d.ts.map +1 -0
  331. package/dist/video/cinema-provider-types.js +2 -0
  332. package/dist/video/cinema-provider-types.js.map +1 -0
  333. package/dist/video/cinema-queue-compatibility.d.ts +68 -0
  334. package/dist/video/cinema-queue-compatibility.d.ts.map +1 -0
  335. package/dist/video/cinema-queue-compatibility.js +162 -0
  336. package/dist/video/cinema-queue-compatibility.js.map +1 -0
  337. package/dist/video/cinema-queue-types.d.ts +80 -0
  338. package/dist/video/cinema-queue-types.d.ts.map +1 -0
  339. package/dist/video/cinema-queue-types.js +2 -0
  340. package/dist/video/cinema-queue-types.js.map +1 -0
  341. package/dist/video/cinema-queue-validation.d.ts +10 -0
  342. package/dist/video/cinema-queue-validation.d.ts.map +1 -0
  343. package/dist/video/cinema-queue-validation.js +181 -0
  344. package/dist/video/cinema-queue-validation.js.map +1 -0
  345. package/dist/video/cinema-reference-projection.d.ts +43 -0
  346. package/dist/video/cinema-reference-projection.d.ts.map +1 -0
  347. package/dist/video/cinema-reference-projection.js +61 -0
  348. package/dist/video/cinema-reference-projection.js.map +1 -0
  349. package/dist/video/cinema-retry-policy.d.ts +15 -0
  350. package/dist/video/cinema-retry-policy.d.ts.map +1 -0
  351. package/dist/video/cinema-retry-policy.js +21 -0
  352. package/dist/video/cinema-retry-policy.js.map +1 -0
  353. package/dist/video/cinema-review-service.d.ts +9 -0
  354. package/dist/video/cinema-review-service.d.ts.map +1 -0
  355. package/dist/video/cinema-review-service.js +51 -0
  356. package/dist/video/cinema-review-service.js.map +1 -0
  357. package/dist/video/cinema-review-store.d.ts +10 -0
  358. package/dist/video/cinema-review-store.d.ts.map +1 -0
  359. package/dist/video/cinema-review-store.js +65 -0
  360. package/dist/video/cinema-review-store.js.map +1 -0
  361. package/dist/video/cinema-review-types.d.ts +61 -0
  362. package/dist/video/cinema-review-types.d.ts.map +1 -0
  363. package/dist/video/cinema-review-types.js +2 -0
  364. package/dist/video/cinema-review-types.js.map +1 -0
  365. package/dist/video/cinema-review-validation.d.ts +5 -0
  366. package/dist/video/cinema-review-validation.d.ts.map +1 -0
  367. package/dist/video/cinema-review-validation.js +71 -0
  368. package/dist/video/cinema-review-validation.js.map +1 -0
  369. package/dist/video/cinema-scope-report.d.ts +56 -0
  370. package/dist/video/cinema-scope-report.d.ts.map +1 -0
  371. package/dist/video/cinema-scope-report.js +70 -0
  372. package/dist/video/cinema-scope-report.js.map +1 -0
  373. package/dist/video/cinema-shot-compiler.d.ts +11 -0
  374. package/dist/video/cinema-shot-compiler.d.ts.map +1 -0
  375. package/dist/video/cinema-shot-compiler.js +104 -0
  376. package/dist/video/cinema-shot-compiler.js.map +1 -0
  377. package/dist/video/cinema-store.d.ts +22 -0
  378. package/dist/video/cinema-store.d.ts.map +1 -0
  379. package/dist/video/cinema-store.js +165 -0
  380. package/dist/video/cinema-store.js.map +1 -0
  381. package/dist/video/cinema-story-compiler.d.ts +3 -0
  382. package/dist/video/cinema-story-compiler.d.ts.map +1 -0
  383. package/dist/video/cinema-story-compiler.js +95 -0
  384. package/dist/video/cinema-story-compiler.js.map +1 -0
  385. package/dist/video/cinema-story-types.d.ts +117 -0
  386. package/dist/video/cinema-story-types.d.ts.map +1 -0
  387. package/dist/video/cinema-story-types.js +2 -0
  388. package/dist/video/cinema-story-types.js.map +1 -0
  389. package/dist/video/cinema-story-validation.d.ts +3 -0
  390. package/dist/video/cinema-story-validation.d.ts.map +1 -0
  391. package/dist/video/cinema-story-validation.js +80 -0
  392. package/dist/video/cinema-story-validation.js.map +1 -0
  393. package/dist/video/cinema-types.d.ts +241 -0
  394. package/dist/video/cinema-types.d.ts.map +1 -0
  395. package/dist/video/cinema-types.js +2 -0
  396. package/dist/video/cinema-types.js.map +1 -0
  397. package/dist/video/cinema-validation.d.ts +7 -0
  398. package/dist/video/cinema-validation.d.ts.map +1 -0
  399. package/dist/video/cinema-validation.js +408 -0
  400. package/dist/video/cinema-validation.js.map +1 -0
  401. package/dist/video/cinema-walking-skeleton-queue.d.ts +4 -0
  402. package/dist/video/cinema-walking-skeleton-queue.d.ts.map +1 -0
  403. package/dist/video/cinema-walking-skeleton-queue.js +68 -0
  404. package/dist/video/cinema-walking-skeleton-queue.js.map +1 -0
  405. package/dist/video/cinematography.d.ts +126 -0
  406. package/dist/video/cinematography.d.ts.map +1 -1
  407. package/dist/video/cinematography.js +207 -3
  408. package/dist/video/cinematography.js.map +1 -1
  409. package/dist/video/cli-schema.d.ts.map +1 -1
  410. package/dist/video/cli-schema.js +330 -23
  411. package/dist/video/cli-schema.js.map +1 -1
  412. package/dist/video/clip-qc.d.ts +166 -0
  413. package/dist/video/clip-qc.d.ts.map +1 -0
  414. package/dist/video/clip-qc.js +218 -0
  415. package/dist/video/clip-qc.js.map +1 -0
  416. package/dist/video/creator-demo.d.ts +45 -0
  417. package/dist/video/creator-demo.d.ts.map +1 -0
  418. package/dist/video/creator-demo.js +192 -0
  419. package/dist/video/creator-demo.js.map +1 -0
  420. package/dist/video/creator-ui/capabilities.d.ts +35 -0
  421. package/dist/video/creator-ui/capabilities.d.ts.map +1 -0
  422. package/dist/video/creator-ui/capabilities.js +135 -0
  423. package/dist/video/creator-ui/capabilities.js.map +1 -0
  424. package/dist/video/creator-ui/execution.d.ts +24 -0
  425. package/dist/video/creator-ui/execution.d.ts.map +1 -0
  426. package/dist/video/creator-ui/execution.js +98 -0
  427. package/dist/video/creator-ui/execution.js.map +1 -0
  428. package/dist/video/creator-ui/index.d.ts +4 -0
  429. package/dist/video/creator-ui/index.d.ts.map +1 -0
  430. package/dist/video/creator-ui/index.js +4 -0
  431. package/dist/video/creator-ui/index.js.map +1 -0
  432. package/dist/video/creator-ui/read-model.d.ts +12 -0
  433. package/dist/video/creator-ui/read-model.d.ts.map +1 -0
  434. package/dist/video/creator-ui/read-model.js +24 -0
  435. package/dist/video/creator-ui/read-model.js.map +1 -0
  436. package/dist/video/creator-ui/server.d.ts +42 -0
  437. package/dist/video/creator-ui/server.d.ts.map +1 -0
  438. package/dist/video/creator-ui/server.js +877 -0
  439. package/dist/video/creator-ui/server.js.map +1 -0
  440. package/dist/video/dialogue.d.ts.map +1 -1
  441. package/dist/video/dialogue.js +7 -1
  442. package/dist/video/dialogue.js.map +1 -1
  443. package/dist/video/environment-auto-create.d.ts +2 -0
  444. package/dist/video/environment-auto-create.d.ts.map +1 -1
  445. package/dist/video/environment-auto-create.js +15 -4
  446. package/dist/video/environment-auto-create.js.map +1 -1
  447. package/dist/video/errors.d.ts +1 -1
  448. package/dist/video/errors.d.ts.map +1 -1
  449. package/dist/video/errors.js +40 -0
  450. package/dist/video/errors.js.map +1 -1
  451. package/dist/video/execute-autochain.d.ts +1 -49
  452. package/dist/video/execute-autochain.d.ts.map +1 -1
  453. package/dist/video/execute-autochain.js +1 -167
  454. package/dist/video/execute-autochain.js.map +1 -1
  455. package/dist/video/execute-pool.d.ts +1 -1
  456. package/dist/video/execute-pool.js +1 -1
  457. package/dist/video/execute-render-scenes.d.ts +1 -1
  458. package/dist/video/execute-render-scenes.js +1 -1
  459. package/dist/video/execute.d.ts.map +1 -1
  460. package/dist/video/execute.js +87 -1
  461. package/dist/video/execute.js.map +1 -1
  462. package/dist/video/execution-adapter.d.ts +45 -0
  463. package/dist/video/execution-adapter.d.ts.map +1 -0
  464. package/dist/video/execution-adapter.js +188 -0
  465. package/dist/video/execution-adapter.js.map +1 -0
  466. package/dist/video/execution-character-locks.d.ts +24 -0
  467. package/dist/video/execution-character-locks.d.ts.map +1 -0
  468. package/dist/video/execution-character-locks.js +54 -0
  469. package/dist/video/execution-character-locks.js.map +1 -0
  470. package/dist/video/execution-plan.d.ts +9 -0
  471. package/dist/video/execution-plan.d.ts.map +1 -1
  472. package/dist/video/execution-plan.js +7 -3
  473. package/dist/video/execution-plan.js.map +1 -1
  474. package/dist/video/execution-profile.d.ts +1 -0
  475. package/dist/video/execution-profile.d.ts.map +1 -1
  476. package/dist/video/execution-profile.js +38 -10
  477. package/dist/video/execution-profile.js.map +1 -1
  478. package/dist/video/execution-runtime.d.ts +3 -48
  479. package/dist/video/execution-runtime.d.ts.map +1 -1
  480. package/dist/video/execution-runtime.js +118 -280
  481. package/dist/video/execution-runtime.js.map +1 -1
  482. package/dist/video/execution-status.d.ts +35 -0
  483. package/dist/video/execution-status.d.ts.map +1 -1
  484. package/dist/video/execution-status.js +120 -16
  485. package/dist/video/execution-status.js.map +1 -1
  486. package/dist/video/filmmaking-prompts.d.ts +68 -2
  487. package/dist/video/filmmaking-prompts.d.ts.map +1 -1
  488. package/dist/video/filmmaking-prompts.js +175 -85
  489. package/dist/video/filmmaking-prompts.js.map +1 -1
  490. package/dist/video/final-media.d.ts +3 -0
  491. package/dist/video/final-media.d.ts.map +1 -1
  492. package/dist/video/final-media.js +54 -7
  493. package/dist/video/final-media.js.map +1 -1
  494. package/dist/video/flow-media-url.d.ts +143 -0
  495. package/dist/video/flow-media-url.d.ts.map +1 -0
  496. package/dist/video/flow-media-url.js +195 -0
  497. package/dist/video/flow-media-url.js.map +1 -0
  498. package/dist/video/gemini-analyze.js +1 -1
  499. package/dist/video/gemini-analyze.js.map +1 -1
  500. package/dist/video/gen-image-flow.d.ts.map +1 -1
  501. package/dist/video/gen-image-flow.js +20 -8
  502. package/dist/video/gen-image-flow.js.map +1 -1
  503. package/dist/video/image-ops.d.ts.map +1 -1
  504. package/dist/video/image-ops.js +4 -3
  505. package/dist/video/image-ops.js.map +1 -1
  506. package/dist/video/keyframe-qc.d.ts +142 -0
  507. package/dist/video/keyframe-qc.d.ts.map +1 -0
  508. package/dist/video/keyframe-qc.js +472 -0
  509. package/dist/video/keyframe-qc.js.map +1 -0
  510. package/dist/video/lane-coordinator.d.ts +73 -0
  511. package/dist/video/lane-coordinator.d.ts.map +1 -0
  512. package/dist/video/lane-coordinator.js +266 -0
  513. package/dist/video/lane-coordinator.js.map +1 -0
  514. package/dist/video/lane-queue.d.ts +94 -0
  515. package/dist/video/lane-queue.d.ts.map +1 -0
  516. package/dist/video/lane-queue.js +386 -0
  517. package/dist/video/lane-queue.js.map +1 -0
  518. package/dist/video/lip-sync.d.ts +140 -0
  519. package/dist/video/lip-sync.d.ts.map +1 -0
  520. package/dist/video/lip-sync.js +245 -0
  521. package/dist/video/lip-sync.js.map +1 -0
  522. package/dist/video/lipsync-closure.d.ts +93 -0
  523. package/dist/video/lipsync-closure.d.ts.map +1 -0
  524. package/dist/video/lipsync-closure.js +199 -0
  525. package/dist/video/lipsync-closure.js.map +1 -0
  526. package/dist/video/magnific/models.d.ts +9 -9
  527. package/dist/video/magnific/models.d.ts.map +1 -1
  528. package/dist/video/magnific/models.js +11 -10
  529. package/dist/video/magnific/models.js.map +1 -1
  530. package/dist/video/magnific/types.d.ts +7 -1
  531. package/dist/video/magnific/types.d.ts.map +1 -1
  532. package/dist/video/mograph/beats.d.ts +46 -0
  533. package/dist/video/mograph/beats.d.ts.map +1 -0
  534. package/dist/video/mograph/beats.js +159 -0
  535. package/dist/video/mograph/beats.js.map +1 -0
  536. package/dist/video/mograph/execute.d.ts +81 -0
  537. package/dist/video/mograph/execute.d.ts.map +1 -0
  538. package/dist/video/mograph/execute.js +53 -0
  539. package/dist/video/mograph/execute.js.map +1 -0
  540. package/dist/video/mograph/logos.d.ts +41 -0
  541. package/dist/video/mograph/logos.d.ts.map +1 -0
  542. package/dist/video/mograph/logos.js +65 -0
  543. package/dist/video/mograph/logos.js.map +1 -0
  544. package/dist/video/mograph/pack.d.ts +67 -0
  545. package/dist/video/mograph/pack.d.ts.map +1 -0
  546. package/dist/video/mograph/pack.js +406 -0
  547. package/dist/video/mograph/pack.js.map +1 -0
  548. package/dist/video/mograph/plan.d.ts +77 -0
  549. package/dist/video/mograph/plan.d.ts.map +1 -0
  550. package/dist/video/mograph/plan.js +146 -0
  551. package/dist/video/mograph/plan.js.map +1 -0
  552. package/dist/video/mograph/sheet.d.ts +46 -0
  553. package/dist/video/mograph/sheet.d.ts.map +1 -0
  554. package/dist/video/mograph/sheet.js +194 -0
  555. package/dist/video/mograph/sheet.js.map +1 -0
  556. package/dist/video/mograph/style-families.d.ts +43 -0
  557. package/dist/video/mograph/style-families.d.ts.map +1 -0
  558. package/dist/video/mograph/style-families.js +154 -0
  559. package/dist/video/mograph/style-families.js.map +1 -0
  560. package/dist/video/mograph/types.d.ts +135 -0
  561. package/dist/video/mograph/types.d.ts.map +1 -0
  562. package/dist/video/mograph/types.js +10 -0
  563. package/dist/video/mograph/types.js.map +1 -0
  564. package/dist/video/motion-overlay/v2v-transport.d.ts +5 -0
  565. package/dist/video/motion-overlay/v2v-transport.d.ts.map +1 -1
  566. package/dist/video/motion-overlay/v2v-transport.js +36 -5
  567. package/dist/video/motion-overlay/v2v-transport.js.map +1 -1
  568. package/dist/video/multi-shot-prompt.d.ts +52 -1
  569. package/dist/video/multi-shot-prompt.d.ts.map +1 -1
  570. package/dist/video/multi-shot-prompt.js +140 -17
  571. package/dist/video/multi-shot-prompt.js.map +1 -1
  572. package/dist/video/music-video.d.ts +63 -0
  573. package/dist/video/music-video.d.ts.map +1 -1
  574. package/dist/video/music-video.js +47 -1
  575. package/dist/video/music-video.js.map +1 -1
  576. package/dist/video/narrate.d.ts.map +1 -1
  577. package/dist/video/narrate.js +11 -3
  578. package/dist/video/narrate.js.map +1 -1
  579. package/dist/video/native-dreamina.d.ts +10 -0
  580. package/dist/video/native-dreamina.d.ts.map +1 -1
  581. package/dist/video/native-dreamina.js +93 -29
  582. package/dist/video/native-dreamina.js.map +1 -1
  583. package/dist/video/native-flow-r2v.d.ts +16 -0
  584. package/dist/video/native-flow-r2v.d.ts.map +1 -1
  585. package/dist/video/native-flow-r2v.js +54 -8
  586. package/dist/video/native-flow-r2v.js.map +1 -1
  587. package/dist/video/native-magnific.d.ts.map +1 -1
  588. package/dist/video/native-magnific.js +15 -5
  589. package/dist/video/native-magnific.js.map +1 -1
  590. package/dist/video/native-runway.d.ts.map +1 -1
  591. package/dist/video/native-runway.js +57 -13
  592. package/dist/video/native-runway.js.map +1 -1
  593. package/dist/video/native-veo.d.ts.map +1 -1
  594. package/dist/video/native-veo.js +23 -3
  595. package/dist/video/native-veo.js.map +1 -1
  596. package/dist/video/optical-register.d.ts +27 -0
  597. package/dist/video/optical-register.d.ts.map +1 -0
  598. package/dist/video/optical-register.js +66 -0
  599. package/dist/video/optical-register.js.map +1 -0
  600. package/dist/video/post-production.d.ts +25 -2
  601. package/dist/video/post-production.d.ts.map +1 -1
  602. package/dist/video/post-production.js +112 -45
  603. package/dist/video/post-production.js.map +1 -1
  604. package/dist/video/preview-portal/discovery.d.ts.map +1 -1
  605. package/dist/video/preview-portal/discovery.js +8 -1
  606. package/dist/video/preview-portal/discovery.js.map +1 -1
  607. package/dist/video/preview-portal/render.js +2 -2
  608. package/dist/video/preview-portal/render.js.map +1 -1
  609. package/dist/video/preview-portal/shared-assets.d.ts +1 -1
  610. package/dist/video/preview-portal/shared-assets.d.ts.map +1 -1
  611. package/dist/video/preview-portal/shared-assets.js +1 -1
  612. package/dist/video/preview-portal/types.d.ts +7 -1
  613. package/dist/video/preview-portal/types.d.ts.map +1 -1
  614. package/dist/video/prompt-lint.d.ts +30 -4
  615. package/dist/video/prompt-lint.d.ts.map +1 -1
  616. package/dist/video/prompt-lint.js +240 -6
  617. package/dist/video/prompt-lint.js.map +1 -1
  618. package/dist/video/prompt-quality.d.ts +20 -1
  619. package/dist/video/prompt-quality.d.ts.map +1 -1
  620. package/dist/video/prompt-quality.js +51 -5
  621. package/dist/video/prompt-quality.js.map +1 -1
  622. package/dist/video/prompt-rules.d.ts +10 -0
  623. package/dist/video/prompt-rules.d.ts.map +1 -1
  624. package/dist/video/prompt-rules.js +21 -0
  625. package/dist/video/prompt-rules.js.map +1 -1
  626. package/dist/video/provider-adapter-runner.d.ts.map +1 -1
  627. package/dist/video/provider-adapter-runner.js +10 -0
  628. package/dist/video/provider-adapter-runner.js.map +1 -1
  629. package/dist/video/provider-platform/registry.d.ts.map +1 -1
  630. package/dist/video/provider-platform/registry.js +5 -9
  631. package/dist/video/provider-platform/registry.js.map +1 -1
  632. package/dist/video/provider-platform/route-capabilities.d.ts +12 -0
  633. package/dist/video/provider-platform/route-capabilities.d.ts.map +1 -1
  634. package/dist/video/provider-platform/route-capabilities.js +32 -10
  635. package/dist/video/provider-platform/route-capabilities.js.map +1 -1
  636. package/dist/video/provider-status.d.ts.map +1 -1
  637. package/dist/video/provider-status.js +14 -2
  638. package/dist/video/provider-status.js.map +1 -1
  639. package/dist/video/providers/dreamina-useapi.d.ts +18 -1
  640. package/dist/video/providers/dreamina-useapi.d.ts.map +1 -1
  641. package/dist/video/providers/dreamina-useapi.js +10 -0
  642. package/dist/video/providers/dreamina-useapi.js.map +1 -1
  643. package/dist/video/providers/google-flow.d.ts +15 -0
  644. package/dist/video/providers/google-flow.d.ts.map +1 -1
  645. package/dist/video/providers/google-flow.js +18 -2
  646. package/dist/video/providers/google-flow.js.map +1 -1
  647. package/dist/video/providers/runway-useapi.d.ts +5 -4
  648. package/dist/video/providers/runway-useapi.d.ts.map +1 -1
  649. package/dist/video/providers/runway-useapi.js.map +1 -1
  650. package/dist/video/providers/xskill.d.ts +6 -3
  651. package/dist/video/providers/xskill.d.ts.map +1 -1
  652. package/dist/video/providers/xskill.js +7 -4
  653. package/dist/video/providers/xskill.js.map +1 -1
  654. package/dist/video/publish-platform/package.d.ts +29 -0
  655. package/dist/video/publish-platform/package.d.ts.map +1 -0
  656. package/dist/video/publish-platform/package.js +270 -0
  657. package/dist/video/publish-platform/package.js.map +1 -0
  658. package/dist/video/publish-platform/profiles.d.ts +5 -0
  659. package/dist/video/publish-platform/profiles.d.ts.map +1 -0
  660. package/dist/video/publish-platform/profiles.js +171 -0
  661. package/dist/video/publish-platform/profiles.js.map +1 -0
  662. package/dist/video/publish-platform/types.d.ts +120 -0
  663. package/dist/video/publish-platform/types.d.ts.map +1 -0
  664. package/dist/video/publish-platform/types.js +2 -0
  665. package/dist/video/publish-platform/types.js.map +1 -0
  666. package/dist/video/publish-platform/validate.d.ts +9 -0
  667. package/dist/video/publish-platform/validate.d.ts.map +1 -0
  668. package/dist/video/publish-platform/validate.js +177 -0
  669. package/dist/video/publish-platform/validate.js.map +1 -0
  670. package/dist/video/readiness.d.ts +14 -1
  671. package/dist/video/readiness.d.ts.map +1 -1
  672. package/dist/video/readiness.js +14 -2
  673. package/dist/video/readiness.js.map +1 -1
  674. package/dist/video/reframe/captions.d.ts +20 -0
  675. package/dist/video/reframe/captions.d.ts.map +1 -0
  676. package/dist/video/reframe/captions.js +131 -0
  677. package/dist/video/reframe/captions.js.map +1 -0
  678. package/dist/video/reframe/index.d.ts +37 -0
  679. package/dist/video/reframe/index.d.ts.map +1 -0
  680. package/dist/video/reframe/index.js +68 -0
  681. package/dist/video/reframe/index.js.map +1 -0
  682. package/dist/video/reframe/plan.d.ts +4 -0
  683. package/dist/video/reframe/plan.d.ts.map +1 -0
  684. package/dist/video/reframe/plan.js +211 -0
  685. package/dist/video/reframe/plan.js.map +1 -0
  686. package/dist/video/reframe/qc.d.ts +17 -0
  687. package/dist/video/reframe/qc.d.ts.map +1 -0
  688. package/dist/video/reframe/qc.js +95 -0
  689. package/dist/video/reframe/qc.js.map +1 -0
  690. package/dist/video/reframe/render.d.ts +17 -0
  691. package/dist/video/reframe/render.d.ts.map +1 -0
  692. package/dist/video/reframe/render.js +103 -0
  693. package/dist/video/reframe/render.js.map +1 -0
  694. package/dist/video/reframe/suggest.d.ts +17 -0
  695. package/dist/video/reframe/suggest.d.ts.map +1 -0
  696. package/dist/video/reframe/suggest.js +76 -0
  697. package/dist/video/reframe/suggest.js.map +1 -0
  698. package/dist/video/reframe/template.d.ts +16 -0
  699. package/dist/video/reframe/template.d.ts.map +1 -0
  700. package/dist/video/reframe/template.js +45 -0
  701. package/dist/video/reframe/template.js.map +1 -0
  702. package/dist/video/reframe/types.d.ts +77 -0
  703. package/dist/video/reframe/types.d.ts.map +1 -0
  704. package/dist/video/reframe/types.js +2 -0
  705. package/dist/video/reframe/types.js.map +1 -0
  706. package/dist/video/review-ui-media-proxy.d.ts +15 -0
  707. package/dist/video/review-ui-media-proxy.d.ts.map +1 -0
  708. package/dist/video/review-ui-media-proxy.js +184 -0
  709. package/dist/video/review-ui-media-proxy.js.map +1 -0
  710. package/dist/video/review-ui-server.d.ts +40 -0
  711. package/dist/video/review-ui-server.d.ts.map +1 -0
  712. package/dist/video/review-ui-server.js +286 -0
  713. package/dist/video/review-ui-server.js.map +1 -0
  714. package/dist/video/review-ui.d.ts +9 -0
  715. package/dist/video/review-ui.d.ts.map +1 -1
  716. package/dist/video/review-ui.js +20 -262
  717. package/dist/video/review-ui.js.map +1 -1
  718. package/dist/video/scene-candidates.d.ts +12 -0
  719. package/dist/video/scene-candidates.d.ts.map +1 -1
  720. package/dist/video/scene-candidates.js +21 -0
  721. package/dist/video/scene-candidates.js.map +1 -1
  722. package/dist/video/scene-headcount.d.ts +52 -0
  723. package/dist/video/scene-headcount.d.ts.map +1 -0
  724. package/dist/video/scene-headcount.js +122 -0
  725. package/dist/video/scene-headcount.js.map +1 -0
  726. package/dist/video/scene-selection.d.ts +19 -0
  727. package/dist/video/scene-selection.d.ts.map +1 -1
  728. package/dist/video/scene-selection.js +38 -0
  729. package/dist/video/scene-selection.js.map +1 -1
  730. package/dist/video/seedance-blocks.d.ts +54 -1
  731. package/dist/video/seedance-blocks.d.ts.map +1 -1
  732. package/dist/video/seedance-blocks.js +99 -2
  733. package/dist/video/seedance-blocks.js.map +1 -1
  734. package/dist/video/seedance-content-filter.d.ts.map +1 -1
  735. package/dist/video/seedance-content-filter.js +84 -4
  736. package/dist/video/seedance-content-filter.js.map +1 -1
  737. package/dist/video/sfx.d.ts.map +1 -1
  738. package/dist/video/sfx.js +6 -1
  739. package/dist/video/sfx.js.map +1 -1
  740. package/dist/video/show-preflight.d.ts.map +1 -1
  741. package/dist/video/show-preflight.js +18 -1
  742. package/dist/video/show-preflight.js.map +1 -1
  743. package/dist/video/soundtrack.d.ts.map +1 -1
  744. package/dist/video/soundtrack.js +8 -1
  745. package/dist/video/soundtrack.js.map +1 -1
  746. package/dist/video/stage-guards.d.ts.map +1 -1
  747. package/dist/video/stage-guards.js +20 -0
  748. package/dist/video/stage-guards.js.map +1 -1
  749. package/dist/video/stock-platform/providers/pexels.d.ts +5 -0
  750. package/dist/video/stock-platform/providers/pexels.d.ts.map +1 -0
  751. package/dist/video/stock-platform/providers/pexels.js +218 -0
  752. package/dist/video/stock-platform/providers/pexels.js.map +1 -0
  753. package/dist/video/stock-platform/registry.d.ts +4 -0
  754. package/dist/video/stock-platform/registry.d.ts.map +1 -0
  755. package/dist/video/stock-platform/registry.js +17 -0
  756. package/dist/video/stock-platform/registry.js.map +1 -0
  757. package/dist/video/stock-platform/rights.d.ts +10 -0
  758. package/dist/video/stock-platform/rights.d.ts.map +1 -0
  759. package/dist/video/stock-platform/rights.js +133 -0
  760. package/dist/video/stock-platform/rights.js.map +1 -0
  761. package/dist/video/stock-platform/store.d.ts +22 -0
  762. package/dist/video/stock-platform/store.d.ts.map +1 -0
  763. package/dist/video/stock-platform/store.js +391 -0
  764. package/dist/video/stock-platform/store.js.map +1 -0
  765. package/dist/video/stock-platform/types.d.ts +106 -0
  766. package/dist/video/stock-platform/types.d.ts.map +1 -0
  767. package/dist/video/stock-platform/types.js +2 -0
  768. package/dist/video/stock-platform/types.js.map +1 -0
  769. package/dist/video/story-bible.d.ts +16 -0
  770. package/dist/video/story-bible.d.ts.map +1 -1
  771. package/dist/video/story-bible.js +4 -0
  772. package/dist/video/story-bible.js.map +1 -1
  773. package/dist/video/studio/execute.d.ts.map +1 -1
  774. package/dist/video/studio/execute.js +13 -1
  775. package/dist/video/studio/execute.js.map +1 -1
  776. package/dist/video/studio/planner.d.ts.map +1 -1
  777. package/dist/video/studio/planner.js +165 -2
  778. package/dist/video/studio/planner.js.map +1 -1
  779. package/dist/video/studio/recipes.d.ts.map +1 -1
  780. package/dist/video/studio/recipes.js +240 -3
  781. package/dist/video/studio/recipes.js.map +1 -1
  782. package/dist/video/studio/types.d.ts +66 -1
  783. package/dist/video/studio/types.d.ts.map +1 -1
  784. package/dist/video/style-register.d.ts +82 -0
  785. package/dist/video/style-register.d.ts.map +1 -0
  786. package/dist/video/style-register.js +509 -0
  787. package/dist/video/style-register.js.map +1 -0
  788. package/dist/video/types.d.ts +11 -1
  789. package/dist/video/types.d.ts.map +1 -1
  790. package/dist/video/verify-final.d.ts +4 -0
  791. package/dist/video/verify-final.d.ts.map +1 -1
  792. package/dist/video/verify-final.js +39 -9
  793. package/dist/video/verify-final.js.map +1 -1
  794. package/dist/video/vocal-map.d.ts +18 -0
  795. package/dist/video/vocal-map.d.ts.map +1 -1
  796. package/dist/video/vocal-map.js +22 -1
  797. package/dist/video/vocal-map.js.map +1 -1
  798. package/dist/video/vocal-sync-plan.d.ts.map +1 -1
  799. package/dist/video/vocal-sync-plan.js +20 -3
  800. package/dist/video/vocal-sync-plan.js.map +1 -1
  801. package/dist/video/workspace.d.ts +25 -0
  802. package/dist/video/workspace.d.ts.map +1 -1
  803. package/dist/video/workspace.js +24 -0
  804. package/dist/video/workspace.js.map +1 -1
  805. package/docs/ASSEMBLE.md +14 -0
  806. package/docs/BRAND_AGENCY.md +1 -1
  807. package/docs/CAPABILITIES.md +279 -0
  808. package/docs/CLI_REFERENCE.md +494 -83
  809. package/docs/CONCIERGE_PROMPT.md +12 -4
  810. package/docs/CREATOR_DEMO.md +31 -0
  811. package/docs/DIRECTOR_BLUEPRINT.md +1 -1
  812. package/docs/ENGINE_ESCAPE_AUDIT.md +7 -6
  813. package/docs/MOGRAPH.md +206 -0
  814. package/docs/OPERATIONS.md +43 -3
  815. package/docs/PRODUCTION_WORKFLOW.md +19 -0
  816. package/docs/PROMPT_QUALITY.md +8 -2
  817. package/docs/PROVIDER_PLATFORM.md +32 -1
  818. package/docs/RELEASE_READINESS.md +16 -0
  819. package/docs/SEEDANCE_HARVEST.md +2 -2
  820. package/docs/SHARED_QUEUE.md +231 -0
  821. package/docs/SKILLS.md +44 -6
  822. package/docs/STUDIO.md +15 -2
  823. package/docs/preview-portal-audit.md +1 -1
  824. package/package.json +24 -6
  825. package/references/video/multi-shot-framework.md +84 -3
  826. package/references/video/seedance-transport-payloads.md +93 -3
  827. package/schemas/video/artifacts/asset-manifest.schema.json +78 -2
  828. package/schemas/video/artifacts/cinema-asset-evidence.schema.json +22 -0
  829. package/schemas/video/artifacts/cinema-asset-registry.schema.json +58 -0
  830. package/schemas/video/artifacts/cinema-candidate-bridge-receipt.schema.json +55 -0
  831. package/schemas/video/artifacts/cinema-candidate-review.schema.json +55 -0
  832. package/schemas/video/artifacts/cinema-capability-snapshot.schema.json +45 -0
  833. package/schemas/video/artifacts/cinema-character-sheet.schema.json +105 -0
  834. package/schemas/video/artifacts/cinema-continuity-ledger.schema.json +47 -0
  835. package/schemas/video/artifacts/cinema-coverage.schema.json +19 -0
  836. package/schemas/video/artifacts/cinema-creative-contract.schema.json +41 -0
  837. package/schemas/video/artifacts/cinema-delivery-manifest.schema.json +68 -0
  838. package/schemas/video/artifacts/cinema-direct-ai-film-import-receipt.schema.json +40 -0
  839. package/schemas/video/artifacts/cinema-direct-ai-film-migration-report.schema.json +82 -0
  840. package/schemas/video/artifacts/cinema-evidence-ledger.schema.json +42 -0
  841. package/schemas/video/artifacts/cinema-generation-authorization.schema.json +33 -0
  842. package/schemas/video/artifacts/cinema-generation-ledger.schema.json +94 -0
  843. package/schemas/video/artifacts/cinema-generation-quote.schema.json +55 -0
  844. package/schemas/video/artifacts/cinema-geography-map.schema.json +20 -0
  845. package/schemas/video/artifacts/cinema-historical-import-receipt.schema.json +94 -0
  846. package/schemas/video/artifacts/cinema-historical-review.schema.json +68 -0
  847. package/schemas/video/artifacts/cinema-planning-receipt.schema.json +21 -0
  848. package/schemas/video/artifacts/cinema-preflight-report.schema.json +21 -0
  849. package/schemas/video/artifacts/cinema-production-queue.schema.json +132 -0
  850. package/schemas/video/artifacts/cinema-project-archive-manifest.schema.json +34 -0
  851. package/schemas/video/artifacts/cinema-project-archive-receipt.schema.json +27 -0
  852. package/schemas/video/artifacts/cinema-project-restore-receipt.schema.json +41 -0
  853. package/schemas/video/artifacts/cinema-provider-projection-bundle.schema.json +46 -0
  854. package/schemas/video/artifacts/cinema-queue-compatibility-receipt.schema.json +39 -0
  855. package/schemas/video/artifacts/cinema-reference-pack.schema.json +72 -0
  856. package/schemas/video/artifacts/cinema-rights-registry.schema.json +14 -0
  857. package/schemas/video/artifacts/cinema-scope-report.schema.json +55 -0
  858. package/schemas/video/artifacts/cinema-shot-manifest.schema.json +121 -0
  859. package/schemas/video/artifacts/cinema-story-bible.schema.json +74 -0
  860. package/schemas/video/artifacts/cinema-timed-audio-contract.schema.json +42 -0
  861. package/schemas/video/artifacts/cinema-visual-sound-bible.schema.json +25 -0
  862. package/schemas/video/artifacts/cinema-voice-registry.schema.json +14 -0
  863. package/schemas/video/artifacts/clip-qc.schema.json +73 -0
  864. package/schemas/video/artifacts/execution-report.schema.json +12 -1
  865. package/schemas/video/artifacts/keyframe-qc.schema.json +82 -0
  866. package/schemas/video/artifacts/motion-pack.schema.json +74 -0
  867. package/schemas/video/artifacts/motion-sheet.schema.json +99 -0
  868. package/schemas/video/artifacts/publish-metadata.schema.json +27 -0
  869. package/schemas/video/artifacts/publish-report.schema.json +32 -1
  870. package/schemas/video/artifacts/reframe-plan.schema.json +116 -0
  871. package/schemas/video/artifacts/reframe-qc.schema.json +47 -0
  872. package/schemas/video/artifacts/scene-candidates.schema.json +2 -0
  873. package/schemas/video/artifacts/shot-table.schema.json +313 -0
  874. package/schemas/video/artifacts/stock-import-receipt.schema.json +73 -0
  875. package/schemas/video/artifacts/storyboard.schema.json +4 -0
  876. package/schemas/video/errors.json +21 -1
  877. package/skills/3d-animation-short/SKILL.md +315 -0
  878. package/skills/README.md +24 -0
  879. package/skills/ai-filmmaking/SKILL.md +82 -5
  880. package/skills/brand-explainer/SKILL.md +130 -0
  881. package/skills/catalog.json +53 -10
  882. package/skills/concierge/SKILL.md +12 -4
  883. package/skills/garden-days/SKILL.md +258 -0
  884. package/skills/mograph/SKILL.md +200 -0
  885. package/skills/movie-director/SKILL.md +1 -1
  886. package/skills/multi-shot-prompt/SKILL.md +15 -5
  887. package/skills/rap-avatar-mv/SKILL.md +1869 -0
  888. package/skills/rhyme-factory/SKILL.md +157 -0
  889. package/skills/seedance-prompts/SKILL.md +105 -0
  890. package/skills/story-bible-builder/SKILL.md +120 -0
  891. package/skills/video-post/SKILL.md +32 -9
  892. package/skills/video-thumbnail-lab/SKILL.md +8 -19
  893. package/src/video/artifact-validation.ts +13 -0
  894. package/src/video/artifacts.ts +50 -0
  895. package/src/video/assemble/assemble.ts +205 -29
  896. package/src/video/assemble/ffmpeg.ts +110 -0
  897. package/src/video/assemble/media-qc.ts +227 -8
  898. package/src/video/assemble/pdf.ts +0 -1
  899. package/src/video/assemble/stitch.ts +281 -17
  900. package/src/video/assemble/title-card.ts +1 -1
  901. package/src/video/assemble/types.ts +59 -0
  902. package/src/video/atomic-write.ts +8 -3
  903. package/src/video/audio-platform/measure.ts +63 -0
  904. package/src/video/blueprint-prompt.ts +1 -1
  905. package/src/video/brand-prompt.ts +1 -1
  906. package/src/video/category-registry.ts +10 -1
  907. package/src/video/character-auto-create.ts +107 -52
  908. package/src/video/cinema-archive.ts +375 -0
  909. package/src/video/cinema-asset-lifecycle.ts +50 -0
  910. package/src/video/cinema-asset-registry.ts +90 -0
  911. package/src/video/cinema-assurance.ts +280 -0
  912. package/src/video/cinema-candidate-bridge.ts +265 -0
  913. package/src/video/cinema-candidate-review.ts +269 -0
  914. package/src/video/cinema-chain-fallback.ts +223 -0
  915. package/src/video/cinema-compatibility-local-worker.ts +200 -0
  916. package/src/video/cinema-compatibility-quote.ts +364 -0
  917. package/src/video/cinema-compatibility-worker.ts +560 -0
  918. package/src/video/cinema-console-generate.ts +26 -0
  919. package/src/video/cinema-console-projection.ts +229 -0
  920. package/src/video/cinema-console-render.ts +149 -0
  921. package/src/video/cinema-console-types.ts +222 -0
  922. package/src/video/cinema-continuity-types.ts +97 -0
  923. package/src/video/cinema-continuity.ts +207 -0
  924. package/src/video/cinema-delivery.ts +368 -0
  925. package/src/video/cinema-direct-ai-film-migration.ts +686 -0
  926. package/src/video/cinema-evidence-store.ts +72 -0
  927. package/src/video/cinema-evidence-types.ts +75 -0
  928. package/src/video/cinema-evidence.ts +173 -0
  929. package/src/video/cinema-file-lock.ts +49 -0
  930. package/src/video/cinema-garment-mask.ts +51 -0
  931. package/src/video/cinema-higgsfield-cli-adapter.ts +390 -0
  932. package/src/video/cinema-higgsfield-cli-runner.ts +18 -0
  933. package/src/video/cinema-historical-import.ts +481 -0
  934. package/src/video/cinema-live-console.ts +176 -0
  935. package/src/video/cinema-planning-store.ts +163 -0
  936. package/src/video/cinema-preflight-store.ts +25 -0
  937. package/src/video/cinema-preflight.ts +88 -0
  938. package/src/video/cinema-production-contract-compiler.ts +149 -0
  939. package/src/video/cinema-production-contract-store.ts +92 -0
  940. package/src/video/cinema-production-queue.ts +880 -0
  941. package/src/video/cinema-profile.ts +7 -0
  942. package/src/video/cinema-project-compiler.ts +161 -0
  943. package/src/video/cinema-project-console-load.ts +74 -0
  944. package/src/video/cinema-project-console.ts +232 -0
  945. package/src/video/cinema-project-planner.ts +264 -0
  946. package/src/video/cinema-provider-contracts.ts +254 -0
  947. package/src/video/cinema-provider-projection.ts +200 -0
  948. package/src/video/cinema-provider-store.ts +207 -0
  949. package/src/video/cinema-provider-types.ts +124 -0
  950. package/src/video/cinema-queue-compatibility.ts +213 -0
  951. package/src/video/cinema-queue-types.ts +115 -0
  952. package/src/video/cinema-queue-validation.ts +184 -0
  953. package/src/video/cinema-reference-projection.ts +91 -0
  954. package/src/video/cinema-retry-policy.ts +36 -0
  955. package/src/video/cinema-review-service.ts +55 -0
  956. package/src/video/cinema-review-store.ts +75 -0
  957. package/src/video/cinema-review-types.ts +69 -0
  958. package/src/video/cinema-review-validation.ts +63 -0
  959. package/src/video/cinema-scope-report.ts +120 -0
  960. package/src/video/cinema-shot-compiler.ts +132 -0
  961. package/src/video/cinema-store.ts +273 -0
  962. package/src/video/cinema-story-compiler.ts +111 -0
  963. package/src/video/cinema-story-types.ts +124 -0
  964. package/src/video/cinema-story-validation.ts +59 -0
  965. package/src/video/cinema-types.ts +276 -0
  966. package/src/video/cinema-validation.ts +417 -0
  967. package/src/video/cinema-walking-skeleton-queue.ts +78 -0
  968. package/src/video/cinematography.ts +276 -3
  969. package/src/video/cli-schema.ts +331 -23
  970. package/src/video/clip-qc.ts +366 -0
  971. package/src/video/creator-demo.ts +241 -0
  972. package/src/video/creator-ui/capabilities.ts +189 -0
  973. package/src/video/creator-ui/execution.ts +118 -0
  974. package/src/video/creator-ui/index.ts +17 -0
  975. package/src/video/creator-ui/read-model.ts +35 -0
  976. package/src/video/creator-ui/server.ts +980 -0
  977. package/src/video/dialogue.ts +8 -1
  978. package/src/video/environment-auto-create.ts +27 -5
  979. package/src/video/errors.ts +40 -0
  980. package/src/video/execute-autochain.ts +2 -225
  981. package/src/video/execute-pool.ts +1 -1
  982. package/src/video/execute-render-scenes.ts +1 -1
  983. package/src/video/execute.ts +86 -1
  984. package/src/video/execution-adapter.ts +249 -0
  985. package/src/video/execution-character-locks.ts +56 -0
  986. package/src/video/execution-plan.ts +20 -4
  987. package/src/video/execution-profile.ts +43 -10
  988. package/src/video/execution-runtime.ts +140 -365
  989. package/src/video/execution-status.ts +121 -13
  990. package/src/video/filmmaking-prompts.ts +212 -86
  991. package/src/video/final-media.ts +61 -7
  992. package/src/video/flow-media-url.ts +241 -0
  993. package/src/video/gemini-analyze.ts +1 -1
  994. package/src/video/gen-image-flow.ts +21 -8
  995. package/src/video/image-ops.ts +4 -3
  996. package/src/video/keyframe-qc.ts +548 -0
  997. package/src/video/lane-coordinator.ts +329 -0
  998. package/src/video/lane-queue.ts +488 -0
  999. package/src/video/lip-sync.ts +320 -0
  1000. package/src/video/lipsync-closure.ts +256 -0
  1001. package/src/video/magnific/models.ts +11 -10
  1002. package/src/video/magnific/types.ts +7 -1
  1003. package/src/video/mograph/beats.ts +189 -0
  1004. package/src/video/mograph/execute.ts +127 -0
  1005. package/src/video/mograph/logos.ts +97 -0
  1006. package/src/video/mograph/pack.ts +476 -0
  1007. package/src/video/mograph/plan.ts +213 -0
  1008. package/src/video/mograph/sheet.ts +234 -0
  1009. package/src/video/mograph/style-families.ts +185 -0
  1010. package/src/video/mograph/types.ts +156 -0
  1011. package/src/video/motion-overlay/v2v-transport.ts +36 -6
  1012. package/src/video/multi-shot-prompt.ts +164 -16
  1013. package/src/video/music-video.ts +127 -1
  1014. package/src/video/narrate.ts +12 -3
  1015. package/src/video/native-dreamina.ts +99 -24
  1016. package/src/video/native-flow-r2v.ts +63 -6
  1017. package/src/video/native-magnific.ts +15 -5
  1018. package/src/video/native-runway.ts +65 -10
  1019. package/src/video/native-veo.ts +23 -3
  1020. package/src/video/optical-register.ts +86 -0
  1021. package/src/video/post-production.ts +137 -44
  1022. package/src/video/preview-portal/discovery.ts +8 -1
  1023. package/src/video/preview-portal/render.ts +2 -2
  1024. package/src/video/preview-portal/shared-assets.ts +1 -1
  1025. package/src/video/preview-portal/types.ts +7 -1
  1026. package/src/video/prompt-lint.ts +265 -7
  1027. package/src/video/prompt-quality.ts +56 -6
  1028. package/src/video/prompt-rules.ts +20 -0
  1029. package/src/video/provider-adapter-runner.ts +10 -0
  1030. package/src/video/provider-platform/registry.ts +5 -9
  1031. package/src/video/provider-platform/route-capabilities.ts +48 -10
  1032. package/src/video/provider-status.ts +15 -2
  1033. package/src/video/providers/dreamina-useapi.ts +21 -1
  1034. package/src/video/providers/google-flow.ts +38 -3
  1035. package/src/video/providers/runway-useapi.ts +7 -4
  1036. package/src/video/providers/xskill.ts +8 -5
  1037. package/src/video/publish-platform/package.ts +349 -0
  1038. package/src/video/publish-platform/profiles.ts +176 -0
  1039. package/src/video/publish-platform/types.ts +155 -0
  1040. package/src/video/publish-platform/validate.ts +236 -0
  1041. package/src/video/readiness.ts +28 -1
  1042. package/src/video/reframe/captions.ts +176 -0
  1043. package/src/video/reframe/index.ts +100 -0
  1044. package/src/video/reframe/plan.ts +241 -0
  1045. package/src/video/reframe/qc.ts +124 -0
  1046. package/src/video/reframe/render.ts +150 -0
  1047. package/src/video/reframe/suggest.ts +103 -0
  1048. package/src/video/reframe/template.ts +61 -0
  1049. package/src/video/reframe/types.ts +87 -0
  1050. package/src/video/review-ui-media-proxy.ts +189 -0
  1051. package/src/video/review-ui-server.ts +319 -0
  1052. package/src/video/review-ui.ts +48 -287
  1053. package/src/video/scene-candidates.ts +24 -0
  1054. package/src/video/scene-headcount.ts +163 -0
  1055. package/src/video/scene-selection.ts +48 -0
  1056. package/src/video/seedance-blocks.ts +138 -2
  1057. package/src/video/seedance-content-filter.ts +85 -4
  1058. package/src/video/sfx.ts +7 -1
  1059. package/src/video/show-preflight.ts +22 -1
  1060. package/src/video/soundtrack.ts +8 -1
  1061. package/src/video/stage-guards.ts +26 -0
  1062. package/src/video/stock-platform/providers/pexels.ts +243 -0
  1063. package/src/video/stock-platform/registry.ts +20 -0
  1064. package/src/video/stock-platform/rights.ts +143 -0
  1065. package/src/video/stock-platform/store.ts +421 -0
  1066. package/src/video/stock-platform/types.ts +117 -0
  1067. package/src/video/story-bible.ts +20 -0
  1068. package/src/video/studio/execute.ts +12 -1
  1069. package/src/video/studio/planner.ts +190 -3
  1070. package/src/video/studio/recipes.ts +240 -3
  1071. package/src/video/studio/types.ts +77 -0
  1072. package/src/video/style-register.ts +684 -0
  1073. package/src/video/types.ts +11 -0
  1074. package/src/video/verify-final.ts +54 -10
  1075. package/src/video/vocal-map.ts +36 -1
  1076. package/src/video/vocal-sync-plan.ts +19 -3
  1077. package/src/video/workspace.ts +42 -0
  1078. package/docs/assets/vclaw-review-ui-desktop-after-stage-gate.png +0 -0
  1079. package/docs/assets/vclaw-review-ui-mobile-after-stage-gate.png +0 -0
  1080. package/src/video/assemble/.omc/state/sessions/3a741ceb-9c9f-4c48-a46f-a33edb5dcdc1/pre-tool-advisory-throttle.json +0 -14
  1081. package/src/video/preview-portal/.omc/state/sessions/2fdd28da-2e8b-4462-a451-750b206c53e1/pre-tool-advisory-throttle.json +0 -18
package/CLAUDE.md CHANGED
@@ -110,12 +110,25 @@ setup, or review surface — and before creating a new command — work through
110
110
  live job exists (`execute-status` → `live-submitted` + a candidate + a
111
111
  `.vclaw-jobs/*.json` file), and then the actual output downloaded + QC'd (frame
112
112
  + whisper). If you tell the user something is happening, prove it (a job id /
113
- status / a frame) — do not assert progress you have not checked. Corollary —
114
- **clear stale outputs before any re-render:** a changed scene prompt plus an old
115
- `outputs/scene-N.mp4` makes the resumable driver SKIP that scene and you verify
116
- the wrong/old clip. Delete stale outputs (and re-select winners that the
117
- restructure orphaned) first; a `scene-selection-missing` block silently refuses
118
- every produce.
113
+ status / a frame) — do not assert progress you have not checked.
114
+
115
+ **QC the whole clip, not one frame.** A single mid-frame grab is not
116
+ verification: it passed 8 clips whose defect (extra figures walking in from the
117
+ frame edges) only began around the four-second mark, and the operator found it
118
+ on screen after delivery. Use `vclaw video clip-qc`, or a filmstrip —
119
+ `ffmpeg -i clip.mp4 -vf "fps=1,scale=200:-1,tile=8x1" strip.jpg` renders every
120
+ second in one pass. `consistency-audit` (one mid-frame, identity) and
121
+ `motion-qc` (nine frames, morph/vanish) are advisory and never block, so read
122
+ their findings rather than treating silence as clean.
123
+
124
+ **Re-render corollary — deleting the clip does NOT force a re-render.** The
125
+ resumable drivers resume from the **scene-selection artifact**, never from
126
+ disk, so a changed prompt plus a deleted `outputs/scene-N.mp4` yields
127
+ `skipped, attempts=0` and no provider call at all. Clear the selection with
128
+ `vclaw video reroll-scene --project <slug> --scene <i> --void` (it voids all
129
+ four stores atomically). After any re-render read the **per-scene statuses**,
130
+ not the file count — a silent no-op looks exactly like success from the
131
+ outside.
119
132
 
120
133
  When in doubt, the on-disk project and its artifacts win over anything you
121
134
  remember.
@@ -225,13 +238,13 @@ The portal generates the standardized HTML surfaces that used to be hand-written
225
238
 
226
239
  ### Storyboard grid & multi-shot prompt handoff
227
240
 
228
- `src/video/multi-shot-prompt.ts` builds project-ready, provider-tuned multi-shot prompt packets (presets via `vclaw video multi-shot --presets`; see `references/video/multi-shot-framework.md`, especially its Anti-patterns section). `multi-shot --plan` can render through alternate composers via `--format default|seedance-paragraph|per-shot` (default = the original `{ preset, shots[] }` JSON, unchanged) and wrap the rendered text bilingually via `--lang en|zh|en+zh` (offline identity translator — the flag surfaces the two-block `en+zh` structure, not live translation); `--category <id>` drives the composed prose. On a non-`default` `--format`, `--hook <patternId>` (named `HOOK_PATTERNS` opening directive from `cinematography.ts`) prepends an `Opening hook — ...` line and `--dialogue "<speaker>: <line> [|| <speaker>: <line>]"` appends spoken dialogue to the opening via `withDialogue` — both are post-render text transforms (composers stay pure), default off / unchanged output. `--dialogue` parses a trailing `[emotion]` per speaker, and `--emotion-cues` rewrites those named emotions into physical-cue descriptors (`rewriteEmotionAsPhysical`/`EMOTION_PHYSICAL_CUE_MAP` in `emotion-cues.ts`) — advisory/additive, extremes left named, default off / byte-identical. `filmmaking-prompts --phase storyboard|video` gates the heavy video `seedancePackets` to `[]` in the `storyboard` phase (lock-the-grid step) while keeping the storyboard/camera-language portion. Joey cinematic-adaptation opt-in flags (all additive — omit = byte-identical legacy output) route through these same commands: `filmmaking-prompts` takes `--sheet 8-shot|6-panel` (`characterSheetSixPanelPrompt`), `--realism`/`--wet`/`--haze thin|light|heavy` (the `captureRealismBlock` keystone + `volumetricHaze`, at `--detail rich`), `--background mid-gray|white|black` (`backgroundPlate`), and `--lighting <id>`/`--grade <id>` (rich cinematography-suffix registers, e.g. `night-fire`/`bleach-bypass`); `multi-shot` takes `--genre <id>` (`resolveStyleLine`, Nolan fallback) and `--vfx <id>` (physical-VFX effects register, `src/video/vfx-register.ts`). Operator trigger-word map: mid-gray → `backgroundPlate`; haze → `volumetricHaze`; anti-plastic → `captureRealismBlock`; wet → moisture clause; bleach-bypass/lifted-blacks → lift/gamma grade; no-on-screen-text → Last Frame suppression. See `docs/CLI_REFERENCE.md` ("Joey cinematic opt-in flags") and the framework Anti-patterns.
241
+ `src/video/multi-shot-prompt.ts` builds project-ready, provider-tuned multi-shot prompt packets (presets via `vclaw video multi-shot --presets`; see `references/video/multi-shot-framework.md`, especially its Anti-patterns section). `multi-shot --plan` can render through alternate composers via `--format default|seedance-paragraph|per-shot` (default = the original `{ preset, shots[] }` JSON, unchanged) and wrap the rendered text bilingually via `--lang en|zh|en+zh` (offline identity translator — the flag surfaces the two-block `en+zh` structure, not live translation); `--category <id>` drives the composed prose. On a non-`default` `--format`, `--hook <patternId>` (named `HOOK_PATTERNS` opening directive from `cinematography.ts`) prepends an `Opening hook — ...` line and `--dialogue "<speaker>: <line> [|| <speaker>: <line>]"` appends spoken dialogue to the opening via `withDialogue` — both are post-render text transforms (composers stay pure), default off / unchanged output. `--dialogue` parses a trailing `[emotion]` per speaker, and `--emotion-cues` rewrites those named emotions into physical-cue descriptors (`rewriteEmotionAsPhysical`/`EMOTION_PHYSICAL_CUE_MAP` in `emotion-cues.ts`) — advisory/additive, extremes left named, default off / byte-identical. `filmmaking-prompts --phase storyboard|video` gates the heavy video `seedancePackets` to `[]` in the `storyboard` phase (lock-the-grid step) while keeping the storyboard/camera-language portion. Joey cinematic-adaptation opt-in flags (all additive — omit = byte-identical legacy output) route through these same commands: `filmmaking-prompts` takes `--sheet 8-shot|6-panel` (`characterSheetSixPanelPrompt`), `--realism`/`--wet`/`--haze thin|light|heavy` (the `captureRealismBlock` keystone + `volumetricHaze`, at `--detail rich`), `--background mid-gray|white|black` (`backgroundPlate`), and `--lighting <id>`/`--grade <id>` (rich cinematography-suffix registers, e.g. `night-fire`/`bleach-bypass`); `multi-shot` takes `--genre <id>` (`resolveStyleLine`, Nolan fallback) and `--vfx <id>` (physical-VFX effects register, `src/video/vfx-register.ts`). Operator trigger-word map: mid-gray → `backgroundPlate`; haze → `volumetricHaze`; anti-plastic → `captureRealismBlock`; wet → moisture clause; bleach-bypass/lifted-blacks → lift/gamma grade; no-on-screen-text → `noOnScreenTextBlock`, the FIRST directive block (it moved out of Last Frame: overlay text is decided early in the frame, so the instruction has to sit early in the prompt). See `docs/CLI_REFERENCE.md` ("Joey cinematic opt-in flags") and the framework Anti-patterns.
229
242
 
230
243
  `src/video/storyboard-grid.ts` (`vclaw video storyboard-grid`, `renderStoryboardGrid`) renders a **deterministic shot-spec sheet** — a 3×3 SVG→PNG of CAM/MOVE/MOOD annotation panels — **not** a cinematic storyboard with character imagery. It is the *layout/intent contract*, not the finished reference image. The intended two-step is: (1) `storyboard-grid` to lock panel order + camera language, then (2) generate the real cinematic 3×3 grid via an image model (always `openai-gpt-image-2` for multi-panel composites) and re-attach it with `vclaw video filmmaking-prompts --storyboard-grid <path>`, which feeds it into the Seedance/Veo/Runway prompt packets.
231
244
 
232
245
  Two production-learned gotchas baked into the generated packets (see the framework Anti-patterns): (a) grids passed as provider `reference_images` get **reproduced as a moving 9-panel split-screen** unless the prompt explicitly forces single-full-frame output — the packets now embed that guard; (b) real-person content filters (xskill/ARK Seedance) reject photoreal faces as `reference_images`, so use `filmmaking-prompts --no-faces` to render the grid prompt in a silhouette / no-face register.
233
246
 
234
- `vclaw video prompt-lint` (`src/video/prompt-lint.ts`, pure/deterministic — the handler does the I/O) lints a filmmaking-prompts artifact BEFORE spend: Seedance 10-block order, the 280–600-words-per-packet window, brand/proper-name scrub leaks, the single-full-frame grid guard whenever a storyboard-grid reference is attached, SUBJECT LOCK / CAPTURE REALISM / CAMERA CAPTURE presence on video packets, grid-panel annotation style (advisory), the character-identity word budget (30–60 words target, >100 hard failure), and two newer advisories: the reference-transfer contract and allocation-model over-allocation. `--checklist` prints the route checklist. `vclaw video cinema-profile` persists per-project cinematography defaults onto the project manifest (`updateProjectManifestCinemaProfile` in `workspace.ts`) so the prompt/packet layer picks them up without re-typing flags. `vclaw video diagnose` (`src/video/output-diagnosis.ts`) is the companion for AFTER a render: an output-quality troubleshoot tree — `--symptom <text>` matches an observed defect to causes + fixes, `--retry-pattern` prints the conservative retry pattern.
247
+ `vclaw video prompt-lint` (`src/video/prompt-lint.ts`, pure/deterministic — the handler does the I/O) lints a filmmaking-prompts artifact BEFORE spend: Seedance 13-block order, the 280–1000-words-per-packet window, brand/proper-name scrub leaks, the single-full-frame grid guard whenever a storyboard-grid reference is attached, NO ON-SCREEN TEXT / CAPTURE CADENCE / SUBJECT LOCK / CAPTURE REALISM / CAMERA CAPTURE presence on video packets, grid-panel annotation style (advisory), the character-identity word budget (30–60 words target, >100 hard failure), and two newer advisories: the reference-transfer contract and allocation-model over-allocation. `--checklist` prints the route checklist. `vclaw video cinema-profile` persists per-project cinematography defaults onto the project manifest (`updateProjectManifestCinemaProfile` in `workspace.ts`) so the prompt/packet layer picks them up without re-typing flags. `vclaw video diagnose` (`src/video/output-diagnosis.ts`) is the companion for AFTER a render: an output-quality troubleshoot tree — `--symptom <text>` matches an observed defect to causes + fixes, `--retry-pattern` prints the conservative retry pattern.
235
248
 
236
249
  ### Provider routes and adapters
237
250
 
@@ -248,7 +261,7 @@ Adapters receive JSON on stdin and must return JSON on stdout (`externalJobId` f
248
261
 
249
262
  For `seedance-direct`, `veo-useapi`, `runway-useapi`, and `dreamina-useapi`, `vclaw` ships a built-in adapter binary (`dist/cli/provider-adapter.js`) used automatically unless the full `..._ADAPTER` override is set. The built-in adapters read route-specific `..._SUBMIT_CMD` / `..._POLL_CMD` / `..._CANCEL_CMD` command shims. Routes also have native in-process transports: `native-seedance.ts` (uses `SUTUI_API_KEY`), `native-veo.ts` (drives the local `vclaw-cli` Bun package), `native-runway.ts` (pure Node fetch + fs, UseAPI bearer auth), `native-dreamina.ts` (pure Node fetch + fs, UseAPI bearer auth).
250
263
 
251
- **`dreamina-useapi` = Seedance 2.0 / Dreamina via useapi.net.** Dreamina (CapCut/ByteDance Seed) exposes the Seedance family (`seedance-2.0` default, `-2.0-fast`, `-2.0-mini`, `-1.5-pro`, `-1.0-pro`, `-1.0-mini`, `-1.0-fast`) and `sora2` through useapi.net; CA-region accounts unlock 1080p Seedance 2.0 (and 4k on `seedance-2.0` as of 2026-06-26 — opted into route-locally via `VCLAW_DREAMINA_RESOLUTION=4k`, since the shared execution profile only expresses 720p/1080p; the transport clamps 4k→1080p on non-seedance-2.0 models and →720p on the 720p-only ones). `-2.0-fast`/`-2.0-mini`/`sora2` are 720p-only. `native-dreamina.ts` reuses the **same `USEAPI_API_TOKEN`** as runway-useapi (no new token) and reads the account from `VCLAW_DREAMINA_ACCOUNT` (e.g. `CA:ai@example.com`), region from `VCLAW_DREAMINA_REGION` (default `CA`), and model from `VCLAW_DREAMINA_MODEL` (default `seedance-2.0`); the route adapter override is `VCLAW_DREAMINA_USEAPI_ADAPTER`. The account is registered server-side out-of-band (`POST /accounts` with `{email,password,region,maxJobs}`), so submit only needs the account id + token. For image-to-video, the first image reference is uploaded via `POST /dreamina/assets/<account>` to obtain an `assetRef`, which is passed as `firstFrameRef` on `POST /dreamina/videos` (first_frame mode auto-detects aspect ratio from the image); poll uses `GET /dreamina/videos/<jobid>` (`status: created → completed|failed`) and downloads `response.videoUrl`. Like runway-useapi, real human faces are rejected by Seedance moderation — describe stylized characters by visual descriptor.
264
+ **`dreamina-useapi` = Seedance 2.0 / Dreamina via useapi.net.** Dreamina (CapCut/ByteDance Seed) exposes the Seedance family (`seedance-2.0` default, `-2.0-fast`, `-2.0-mini`, `-1.5-pro`, `-1.0-pro`, `-1.0-mini`, `-1.0-fast`) and `sora2` through useapi.net; CA-region accounts unlock 1080p Seedance 2.0 (and 4k on `seedance-2.0` as of 2026-06-26 — opted into route-locally via `VCLAW_DREAMINA_RESOLUTION=4k`, since the shared execution profile only expresses 720p/1080p; the transport clamps 4k→1080p on non-seedance-2.0 models and →720p on the 720p-only ones). `-2.0-fast`/`-2.0-mini`/`sora2` are 720p-only. `native-dreamina.ts` reuses the **same `USEAPI_API_TOKEN`** as runway-useapi (no new token) and reads the account from `VCLAW_DREAMINA_ACCOUNT` (e.g. `CA:ai@example.com`), region from `VCLAW_DREAMINA_REGION` (default `CA`), and model from `VCLAW_DREAMINA_MODEL` (default `seedance-2.0`); the route adapter override is `VCLAW_DREAMINA_USEAPI_ADAPTER`. The account is registered server-side out-of-band (`POST /accounts` with `{email,password,region,maxJobs}`), so submit only needs the account id + token. For image-to-video, the first image reference is uploaded via `POST /dreamina/assets/<account>` to obtain an `assetRef`, which is passed as `firstFrameRef` on `POST /dreamina/videos` (first_frame mode auto-detects aspect ratio from the image); a scene's `endKeyframePath` (the same field the runway route uses) uploads a second frame passed as `endFrameRef` alongside `firstFrameRef` → **end_frame mode**, where the clip animates first→end (two stills → one continuous shot); poll uses `GET /dreamina/videos/<jobid>` (`status: created → completed|failed`) and downloads `response.videoUrl`. Like runway-useapi, real human faces are rejected by Seedance moderation — describe stylized characters by visual descriptor.
252
265
 
253
266
  **Seedance character consistency = the Asset Library, not raw URLs.** `ark/seedance-2.0` (the official Volcengine Ark Seedance 2.0, Standard = 1080p) locks character identity via managed **Asset Library avatars** (`Asset://` URIs), NOT raw photoreal image URLs (those trip the "real person" content filter and don't lock identity). `src/video/seedance-asset-library.ts` (`vclaw video seedance-register-assets`) registers character images as Assets, waits for international-profile sync, and writes `artifacts/seedance-assets.json` (canonical schema `schemas/video/artifacts/seedance-assets.schema.json`; shape `{ schemaVersion, projectSlug, groupName, generatedAt, assets:[{name, assetId, assetUri, intlAssetUri}] }`); `readSeedanceAssets(workspaceRoot, slug)` reads it back into a name→`Asset://`-URI map (graceful when absent). On the `seedance-direct` route only, `buildExecutionPayload` (`execution-runtime.ts`) auto-resolves each scene's `referencePaths` from that artifact by matching `scene.characters` names → their `Asset://` URIs (a project without the artifact behaves as before); `native-seedance.ts`'s `seedanceReferenceParams` then routes `Asset://` references into `reference_images`. References are capped at ≤9 image / ≤3 video / ≤3 audio per submission via `assertReferenceBudget`, preflighted across the whole payload in `submitSeedanceDirectNative` before any submit (fail-fast, no partial submission). Describe characters by visual descriptor (not proper names) in prompts — names don't survive across generations. (Validated 2026-05-29 against the same Ark endpoint the user's production project uses.) `@Name` tags in scene prompts (`resolveAssetTags` in `prompt-rules.ts`, lookup via `asset-tag-lookup.ts` `buildAssetTagLookup`) resolve at `buildExecutionPayload` time to the character's visual descriptor (text) + its saved reference (`Asset://`/image), merged through `resolveSceneReferencePaths`; unresolved tags strip the `@` and warn (never fatal), `@imageN` positional bindings are reserved, and it runs before `stripProperNames`. `@location` tags resolve via locked environment plates: `vclaw video environment-auto-create` (`src/video/environment-auto-create.ts`, mirrors `character-auto-create`) generates seamless no-people location plates and writes `artifacts/environment-assets.json` (own schema, like seedance-assets); `readEnvironmentAssets` (`environment-assets.ts`) feeds `buildAssetTagLookup`'s `environmentsByName` so `@tokyo-alley` resolves to the plate descriptor + ref (absent → graceful no-op).
254
267
 
@@ -270,13 +283,17 @@ The repeatable cartoon-SHOW production system (from the Jack-Vs-AI workflow). `v
270
283
 
271
284
  `vclaw video motion-overlay --input <video>` turns an existing talking-head video into a reel with speech-synced motion-graphics overlays. Pipeline: ingest → transcribe (Gemini STT) → slice into ≤10s takes → compose overlay prompts (retention principles + concept→animation metaphor map live as deterministic code, not markdown) → render via one of four layouts (`split|overlay|motion-only|avatar-host`). Render transports: Omni Flash V2V (moderation-prone on person footage), **local** per-frame render (`render-local.ts`/`animate*.ts` — word reveal, count-up, gauge fill), and `avatar-host` (locked go-bananas character via `--gb-character <Name:ID>`, pin+chain identity). Plan/dry by default; spend requires `--execute --confirm-spend`; retry/resume self-heals probabilistic Flow moderation. See `docs/MOTION_OVERLAY.md`.
272
285
 
286
+ ### Mograph — style-locked motion graphics (`src/video/mograph/`)
287
+
288
+ `vclaw video mograph-sheet` / `mograph-pack` / `mograph-render` / `mograph-logos` generate fleets of motion-graphics clips that share ONE look: a **motion sheet** (`artifacts/motion-sheet.json` — master style-board image + ≤120-word style lock carrying the do-NOT-copy-the-sheet-layout guard + a negative ending in the five audio bans) locks the style once, and a **motion pack** (`artifacts/motion-pack.json` — coverage map + action-only `B###` blocks, P1/P2/P3, `t2v|ref2v|v2v-*` modes) carries pure choreography. `mograph-pack --check` is the anti-drift gate (style words/hex codes banned from actions, quoted on-screen text ≤4 words, SFX-never-music, coverage integrity); `mograph-render` is PLAN-ONLY — it assembles `style lock + SHOT + AUDIO + AVOID` per block and `--emit-batch` compiles a batch-queue manifest for the existing `batch-submit`/`batch-monitor` machinery (refs ride in `characterRefs`, the REFERENCE slot; v2v blocks are set aside for omni-flash or prompt-only, never dropped silently). Creative authoring lives in `skills/mograph/SKILL.md`; contract in `docs/MOGRAPH.md`; design spec in `docs/design/specs/2026-07-13-mograph-native-port.md`. Native port of a licensed external skill's concepts — original wording only, the purchased pack is never committed.
289
+
273
290
  ### Audio platform (`src/video/audio-platform/`)
274
291
 
275
292
  `narrate`, `dialogue`, `sfx`, and `soundtrack` are backend-pluggable audio commands over a backend registry (`registry.ts`): TTS via `gemini-tts`/`elevenlabs-tts`, SFX via ElevenLabs, music via `lyria` (Vertex), `lyria3` (Gemini API, key-based), `flowmusic` (Lyria 3 Pro vocals via useapi.net), and Suno. All spend-gated: without `--confirm-spend` they exit 3 with `spend_confirmation_required` (`--dry-run` to plan). `assemble` consumes their outputs via the mix-plan (dialogue + SFX mixed at stitch; `assemble/narration-fit.ts` handles TTS-vs-video timing).
276
293
 
277
294
  ### Media production & local post-production
278
295
 
279
- Two handler families cover the finishing lane. `handlers/media-production.ts`: `assemble` (FFmpeg stitch, incl. `--from-clips`), `gen-image` (diegetic prop/screen/overlay stills; Flow image models via `gen-image-flow.ts`), `overlay` (graphic/alert/lower-third motion graphics with a drawtext preflight), `music-video` (vocal-synced beat-exact assembler, plan/dry by default), `title-card` (Pillow+RAQM title overlays), `stitch-ad`, `animation-styles` (shared `animation-styles.json` registry), `finish` (`src/video/finish.ts` — upscale a rendered cut to an HD/QHD master via hosted Topaz (spend-gated) or local Real-ESRGAN/Topaz CLI; the anti-plastic recipe is baked in: photoreal model, denoise/sharpen DISABLED, film grain kept, and Topaz `grain` clamps to 0.1 because the published schema overstates the range), and `lipsync` (OmniHuman, spend-gated). `assemble`'s stitch layer also supports opt-in **reading-holds** (`assemble/stitch.ts`, `readingHold`) — readable pre-roll holds on dense motion-comic segments. `handlers/media-ops.ts` is local-FFmpeg-only post-production on a finished cut — `make-vertical`/`make-square`/`make-loop`, `thumbnail`, `burn-subtitles`, `verify-final`, and `qc` (recursively scans `projects/<slug>/final/` + `outputs/` for clips and runs the assemble media-QC probe: missing-audio, nonstandard codec, duration drift; graceful `status: 'skipped'` when no clips) — real file I/O but NO provider calls and NO spend. Two adjacent quality/finishing tools: `vclaw video image-ops` (`src/video/image-ops.ts` + `native-magnific.ts`) is still-image post-processing, currently the Magnific precision-v2 image upscaler (pure planning core + injectable runner; `--dry-run` plans without spending; the IMAGE endpoint is live-verified, distinct from the flaky video upscaler), and `vclaw video consistency-audit` (`src/video/consistency-audit.ts`) is an automated character-consistency VISION audit across rendered scenes/keyframes — the engine-side forcing function that catches wardrobe/face drift on recurring characters BEFORE a render is presented as done.
296
+ Two handler families cover the finishing lane. `handlers/media-production.ts`: `assemble` (FFmpeg stitch, incl. `--from-clips`), `gen-image` (diegetic prop/screen/overlay stills; Flow image models via `gen-image-flow.ts`), `overlay` (graphic/alert/lower-third motion graphics with a drawtext preflight), `music-video` (vocal-synced beat-exact assembler, plan/dry by default), `title-card` (Pillow+RAQM title overlays), `stitch-ad`, `animation-styles` (shared `animation-styles.json` registry), `finish` (`src/video/finish.ts` — upscale a rendered cut to an HD/QHD master via hosted Topaz (spend-gated) or local Real-ESRGAN/Topaz CLI; the anti-plastic recipe is baked in: photoreal model, denoise/sharpen DISABLED, film grain kept, and Topaz `grain` clamps to 0.1 because the published schema overstates the range), and `lipsync` (OmniHuman, spend-gated). `assemble`'s stitch layer also supports opt-in **reading-holds** (`assemble/stitch.ts`, `readingHold`) — readable pre-roll holds on dense motion-comic segments. `handlers/media-ops.ts` is local-FFmpeg-only post-production on a finished cut — `make-vertical`/`make-square`/`make-loop`, `thumbnail`, `burn-subtitles`, `verify-final`, and `qc` (recursively scans `projects/<slug>/final/` + `outputs/` for clips and runs the assemble media-QC probe: missing-audio, nonstandard codec, duration drift; graceful `status: 'skipped'` when no clips) — real file I/O but NO provider calls and NO spend. Two adjacent quality/finishing tools: `vclaw video image-ops` (`src/video/image-ops.ts` + `native-magnific.ts`) is still-image post-processing, currently the Magnific precision-v2 image upscaler (pure planning core + injectable runner; `--dry-run` plans without spending; the IMAGE endpoint is live-verified, a different service from the video upscaler), and `vclaw video consistency-audit` (`src/video/consistency-audit.ts`) is an automated character-consistency VISION audit across rendered scenes/keyframes — the engine-side forcing function that catches wardrobe/face drift on recurring characters BEFORE a render is presented as done.
280
297
 
281
298
  ### Gemini key pool
282
299
 
@@ -303,13 +320,34 @@ Two handler families cover the finishing lane. `handlers/media-production.ts`: `
303
320
  - `check:skill-frontdoor` deliberately ignores `skills/seedance-prompts/SKILL.md` and the three presenter skills (`bunty`, `davendra-presenter`, `nex-presenter`) because their docs legitimately reference the legacy Python pipeline scripts. Don't "fix" the ignore list — it's load-bearing.
304
321
  - Do not commit secrets, `.env.local`, provider cookies, or `.omx/` state (already gitignored).
305
322
 
323
+ ## Start in your own worktree
324
+
325
+ Sessions share this repo's `.git`. Two in the MAIN checkout also share its
326
+ working tree, index, HEAD and `dist/` — which on 2026-08-01 absorbed one
327
+ session's uncommitted work into another's commit, wiped `dist/` mid-test-run
328
+ (322 phantom failures), and switched the branch under an in-flight commit. A
329
+ worktree gives a session its own copy of all four.
330
+
331
+ Run `scripts/new-session.sh <name> [branch]` before doing anything else. It
332
+ builds `.claude/worktrees/<name>` off a freshly fetched `origin/main`, links
333
+ `node_modules`, proves the link resolves, and prints the `cd`. Stage explicit
334
+ paths when committing, so a commit holds only what you touched.
335
+
336
+ Working in the main checkout is fine when you are certain you are the only
337
+ session. When you are not certain, you are not.
338
+
339
+ `scripts/hooks/install.sh` activates a `pre-commit` guard: it blocks a commit
340
+ made directly on `main`, and warns when you commit from the main checkout while
341
+ another worktree holds uncommitted work. Both are advisory-on-error and skippable
342
+ with `VCLAW_SKIP_GUARD=1` — a guard that wrongly blocks just gets deleted.
343
+
306
344
  ## Autonomy directive (from AGENTS.md)
307
345
 
308
346
  Proceed by default on obvious next steps. Keep work scoped to this repository and its generated `projects/<slug>/` folders. If a blocker is local and solvable, solve it; if it's external, note it and continue with the next meaningful lane rather than pausing for confirmation.
309
347
 
310
348
  ## Recommended reading order
311
349
 
312
- `docs/ARCHITECTURE.md` → `docs/CLI_REFERENCE.md` → `docs/STUDIO.md` → `docs/ASSEMBLE.md` → `docs/PRODUCTION_WORKFLOW.md` → `docs/REVIEW_UI_STORYBOARD_WORKFLOW.md` → `docs/preview-portal-audit.md` → `docs/STORY_BIBLE.md` → `docs/DIRECTOR_BLUEPRINT.md` → `docs/MOTION_OVERLAY.md` → `docs/REFERENCE_SHEETS.md` → `docs/SCENE_CANDIDATES.md` → `docs/OPERATIONS.md` → `docs/GENERATION_TELEMETRY.md` → `docs/OBSIDIAN.md` → `docs/TEMPLATES.md` → `docs/MIGRATION.md` → `docs/DEPRECATION.md` → `docs/RELEASE_READINESS.md` → `docs/MASTER_PLAN_ALIGNMENT.md` → `docs/DIAGRAMS_SOURCE.md`.
350
+ `docs/ARCHITECTURE.md` → `docs/CLI_REFERENCE.md` → `docs/STUDIO.md` → `docs/ASSEMBLE.md` → `docs/PRODUCTION_WORKFLOW.md` → `docs/REVIEW_UI_STORYBOARD_WORKFLOW.md` → `docs/preview-portal-audit.md` → `docs/STORY_BIBLE.md` → `docs/DIRECTOR_BLUEPRINT.md` → `docs/MOTION_OVERLAY.md` → `docs/MOGRAPH.md` → `docs/REFERENCE_SHEETS.md` → `docs/SCENE_CANDIDATES.md` → `docs/OPERATIONS.md` → `docs/GENERATION_TELEMETRY.md` → `docs/OBSIDIAN.md` → `docs/TEMPLATES.md` → `docs/MIGRATION.md` → `docs/DEPRECATION.md` → `docs/RELEASE_READINESS.md` → `docs/MASTER_PLAN_ALIGNMENT.md` → `docs/DIAGRAMS_SOURCE.md`.
313
351
 
314
352
  Architecture decision records live in `docs/adr/` (no-silent-fallback across routes, on-disk project as source of truth, Seedance identity via Asset Library, director-mode approval gate) — consult them before relitigating those decisions.
315
353
 
package/README.md CHANGED
@@ -21,6 +21,8 @@ A command-line tool (`vclaw`) that takes a plain-English idea like *"a 15-second
21
21
  The complete, idiot-proof **and** agent-ready docs: an [interactive guide](https://videoclaw-docs.vercel.app/guide/), a page for [**every feature**](https://videoclaw-docs.vercel.app/features/) (30+), a [recipe book](https://videoclaw-docs.vercel.app/guide/what-videos) of what you can make, the [skills catalog](https://videoclaw-docs.vercel.app/skills/), and all the deep [reference docs](https://videoclaw-docs.vercel.app/reference/) — with diagrams throughout.
22
22
 
23
23
  > **New here?** The easiest path is to **[drive it by talking to Claude Code](https://videoclaw-docs.vercel.app/guide/with-claude-code)** (or any agent host); there's a dedicated [how-it-works page for agents](https://videoclaw-docs.vercel.app/for-agents/) too.
24
+ >
25
+ > **Agents working in this repo:** read [`docs/CAPABILITIES.md`](docs/CAPABILITIES.md) (or [`llms.txt`](llms.txt)) — a one-read capability manifest: what videoclaw can produce, the provider routes, the spend-safety model, and the full command index. Run `vclaw schema --json` for exact flags.
24
26
  > Once you're in Claude Code in this repo, just type **`/concierge`** (or **`/clawbot`**) — or say *"make me a video"* — and **Clawbot**, VideoClaw's mascot and concierge, walks you from idea to finished film, with a preview and your approval before anything costs money.
25
27
 
26
28
  <a href="https://videoclaw-docs.vercel.app/"><img src="./docs/assets/docsite-preview.png" alt="videoclaw documentation site — make AI videos by just talking" width="100%" /></a>
@@ -152,6 +154,7 @@ No global install? Run it on demand with `npx -p videoclaw@alpha vclaw video pro
152
154
  ```bash
153
155
  git clone https://github.com/davendra/videoclaw-v3 && cd videoclaw-v3
154
156
  npm install # Node 20+
157
+ python3 -m pip install -r requirements-test.txt # Python 3.9+ test helpers
155
158
  npm run build # compile the CLI
156
159
  npm test # run the full test suite
157
160
  node dist/cli/vclaw.js video providers # show which AI providers are ready
@@ -172,9 +175,9 @@ node dist/cli/vclaw.js video status --project demo
172
175
 
173
176
  > **Zero keys needed to try it.** Everything above — install, `providers`, and the full `init → brief → storyboard → plan → produce --dry-run → status` lifecycle — runs with **no API keys and no credits**. Provider keys gate only the **real render** step. (`vclaw video verify-env` lists `GOOGLE_API_KEY` / `GO_BANANAS_API_KEY` / `SUTUI_API_KEY` as *required* because they're required to *render* — you can explore the whole pipeline, artifacts, and review surfaces before wiring up a single key.)
174
177
 
175
- Add `--auto-chain` to `produce`/`execute` to render the whole storyboard sequentially, each scene seeded from the previous scene's output video (continuity chain, unattended).
178
+ Add `--auto-chain` to `produce`/`execute` to render the whole storyboard sequentially, each scene seeded from the previous scene's output video (continuity chain, unattended). Add `--enqueue` to compile the same chain as a zero-call durable DAG: later scenes remain blocked behind their predecessor, carry an explicit deferred selected-video source policy, and enter exact quotation only when the required source exists.
176
179
 
177
- `vclaw video pool --project <slug> [--max-concurrent <N>] [--scenes <csv>]` renders a project's pending scenes as independent units **in parallel** (no chaining, unlike `--auto-chain`), resumable (scenes with a selected candidate are skipped) and spend-gated (`--dry-run` to plan, `--confirm-spend` to render). `--max-concurrent` caps the number of scenes in flight (default 2) and the pool auto-refills a slot as each scene completes. Concurrent renders are lost-update-safe: each scene's `scene-candidates.json`/`scene-selection.json` read-modify-write runs under a shared artifact lock (re-read current → apply this scene's delta → write), so two scenes never clobber each other (no double-spend), while their slow provider submit/poll overlaps. The concurrency scheduler is built + adversarially tested.
180
+ `vclaw video pool --project <slug> [--max-concurrent <N>] [--scenes <csv>]` renders a project's pending scenes as independent units **in parallel** (no chaining, unlike `--auto-chain`), resumable (scenes with a selected candidate are skipped) and spend-gated (`--dry-run` to plan, `--confirm-spend` to render). `--enqueue` instead compiles the exact pending execution tasks into the shared durable Cinema queue with an immutable zero-call receipt and maps the cap onto one LaneQueue lane; paid tasks remain `awaiting-quote`. `--max-concurrent` caps the number of scenes in flight (default 2) and the pool auto-refills a slot as each scene completes. Concurrent renders are lost-update-safe: each scene's `scene-candidates.json`/`scene-selection.json` read-modify-write runs under a shared artifact lock (re-read current → apply this scene's delta → write), so two scenes never clobber each other (no double-spend), while their slow provider submit/poll overlaps. The concurrency scheduler is built + adversarially tested.
178
181
 
179
182
  `vclaw video render-scenes --project <slug> [--method <route>] [--fallback-chain] [--continue-from <i>] [--scenes <csv>]` is the **fallback-ladder** driver: it renders pending scenes **sequentially** and, per scene, walks a **fallback route ladder** — try the primary route; if the provider rejects it, escalate to the next route, and so on (the first route that succeeds wins). This productizes the hand-written `voice-render.mjs` / `chain.mjs` loops (render one scene, on rejection escalate to a fallback method, resumable across crashes). `--method` picks the primary route; `--fallback-chain` appends the project's `routePreference` / mode defaults as the fallback rungs (without it the ladder is just the primary — a plain sequential render). Resumable via `--continue-from <i>` (skips scenes below `i`) and already-selected scenes; spend-gated (`--dry-run` to plan, `--confirm-spend` to render). Contrast: `--auto-chain` = sequential + chained on one route; `pool` = parallel + independent on one route; `render-scenes` = sequential + per-scene route fallback.
180
183
 
@@ -394,7 +397,7 @@ flowchart TD
394
397
  | `SUTUI_API_KEY` | seedance-direct (native) | XSkill API credentials for in-process transport |
395
398
  | `VCLAW_MAGNIFIC_REST_ADAPTER` · `_SUBMIT_CMD` · `_POLL_CMD` · `_CANCEL_CMD` | magnific-rest | custom adapter override / command shim |
396
399
  | `MAGNIFIC_API_KEY` | magnific-rest (native) + `finish --backend magnific-precision` | Magnific/Freepik REST key (`x-magnific-api-key`) for video generation + upscale |
397
- | `VCLAW_MAGNIFIC_MODEL` · `VCLAW_MAGNIFIC_API_URL` | magnific-rest | proxied model (default = cheapest catalog model fitting the op; premium incl. Seedance Pro 1080p opt-in) · API base override |
400
+ | `VCLAW_MAGNIFIC_MODEL` · `VCLAW_MAGNIFIC_API_URL` | magnific-rest | proxied image-to-video model (default = cheapest catalog model fitting the op; premium `kling-o1-pro` opt-in; unknown ids throw) · API base override |
398
401
  | `VIDEOCLAW_APPROVE_STORYBOARD` | director mode | `=1` to approve storyboard and allow provider submission |
399
402
  | `DIRECTOR_AUTO_FIX_CONTENT` | director mode | `=1` to rewrite provider-risk phrases in storyboard |
400
403
  | `SKIP_DIRECTOR_PREFLIGHT` | director mode | `=1` to bypass preflight (use sparingly) |
@@ -436,7 +439,9 @@ workflow documented in
436
439
  [`docs/REFERENCE_VIDEO_SEEDANCE_MOTION_DESIGN_WORKFLOW.md`](https://videoclaw-docs.vercel.app/reference/REFERENCE_VIDEO_SEEDANCE_MOTION_DESIGN_WORKFLOW).
437
440
  Use its director defaults to save a production ledger that follows the
438
441
  still-frame-first, start/end-frame, bridge-pose, variant-pass, and post-retiming
439
- recipe.
442
+ recipe. It binds to loopback by default and uses a one-time launch token plus an
443
+ HttpOnly session cookie; non-loopback hosts require an explicit `--allow-remote`,
444
+ and wildcard binds are refused. Treat the printed launch URL as a credential.
440
445
 
441
446
  `review-autopilot` lets the agent do that handoff without manual clicks once
442
447
  storyboard still candidates exist. It locks the best available stills, promotes
@@ -460,12 +465,16 @@ regenerated automatically on every `produce`/`execute` and `execute-status` poll
460
465
  `analyze` · `analyze-template` · `template-create` · `template-save` · `template-list` · `template-show` · `template-validate` · `clone-plan` · `clone-init` · `clone-ad` · `clone-execute` · `storyboard-from-clone` · `storyboard-template-list` · `storyboard-template-show`
461
466
 
462
467
  ### Character subsystem
463
- `character-add` · `character-list` · `character-show` · `character-consistency` · `consistency-audit` · `motion-qc` · `character-auto-create` · `environment-auto-create` · `character-import-library` · `find-library` · `library find` · `library clean` · `list-library` · `seedance-register-assets` · `flow-register-characters` · `flow-register-voices` · `voice-clone` · `show-bible` · `show-preflight`
468
+ `character-add` · `character-list` · `character-show` · `character-consistency` · `consistency-audit` · `motion-qc` · `clip-qc` · `keyframe-qc` · `character-auto-create` · `environment-auto-create` · `character-import-library` · `find-library` · `library find` · `library clean` · `list-library` · `seedance-register-assets` · `flow-register-characters` · `flow-register-voices` · `voice-clone` · `show-bible` · `show-preflight`
464
469
 
465
470
  `consistency-audit` is the **automated character identity/costume vision audit**: for each rendered scene it extracts a representative mid-frame and asks an (injectable, Gemini-backed) vision client whether each registered scene character still matches its locked reference face/hair AND costume/colours, plus a deterministic dark-border check and an extra-figure flag — catching wardrobe/identity drift (a dhoti rendering crimson in one scene and tan in another) BEFORE a render is presented as done. It writes `consistency-audit.json` and also runs advisory/non-fatal at the end of a real `produce`/`execute` run when a Gemini key is configured.
466
471
 
467
472
  `motion-qc` is its sibling for **rendering artifacts a still-frame QC pass is blind to**: it samples K dense frames per rendered clip (default 9) and runs a per-frame lane (breath-vapour condensation puffs, film grain rendering as drifting fog over dark regions) plus an adjacent-pair lane (objects/faces **morphing** between moments, solid props **vanishing** mid-clip — anchored on the scene keyframe when bound). Conservative prompts, advisory on transport failure, `clipChecked:false` for image-only/unrendered scenes. Writes `motion-artifact-qc.json`; requires a Gemini vision key. See `docs/CLI_REFERENCE.md`.
468
473
 
474
+ `clip-qc` is the third lane: a **per-second headcount** over every rendered clip. `consistency-audit` samples one mid-frame and `motion-qc` looks for morph/vanish artefacts — neither counts people, so invented, duplicated, or edge-entering cast is invisible to both (eight clips of a 37-shot film shipped that way). Flags `headcount-variance` (the count changes mid-clip) and `headcount-exceeds-cast` (more people than the scene names), and writes a filmstrip contact sheet per clip to `projects/<slug>/qc/` — that lane needs no vision key. Writes `clip-qc.json`. See `docs/CLI_REFERENCE.md`.
475
+
476
+ `keyframe-qc` is the **fail-fast PRE-render keyframe readiness gate** — deterministic and offline (pure Node PNG IHDR header parse; no vision model, no spend). Given the storyboard's scene count it verifies every scene has `references/scene<i>-keyframe.png`, that each is a readable PNG, and that all keyframes share the dominant WxH; a missing storyboard, missing/unreadable keyframe, or dimension mismatch fails the gate (exit 3, GATE) so an `&&` chain halts BEFORE `produce` spends on drifted keyframes. A uniform-but-non-1280x720 set passes with an advisory. Writes `keyframe-qc.json`.
477
+
469
478
  ### Portfolio · ops · reporting
470
479
  `list` · `index` · `metrics` · `workload` · `next-actions` · `dependencies` · `status` · `doctor-project` · `doctor-portfolio` · `report` · `report-snapshot` · `report-history` · `report-diff` · `trends` · `export-csv` · `artifact-history` · `verify-env` · `cost-estimate`
471
480
 
@@ -485,6 +494,9 @@ regenerated automatically on every `produce`/`execute` and `execute-status` poll
485
494
  ### Multi-shot prompt
486
495
  `multi-shot` — scaffold / validate / Gemini-author timecoded multi-shot cinematic prompts, with preset discovery, storyboard scene hydration, provider-shaped defaults, and parsed shot artifacts ([docs](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE))
487
496
 
497
+ ### Motion graphics (style-locked)
498
+ `mograph-sheet` · `mograph-pack` · `mograph-render` · `mograph-logos` — lock a motion-graphics look ONCE in a motion sheet (master style board + ≤120-word style lock), turn the VO into a coverage-mapped pack of action-only P1/P2/P3 blocks, lint them against style drift, and compile batch-eligible blocks into a batch-queue manifest for overnight rendering ([docs](https://videoclaw-docs.vercel.app/reference/MOGRAPH))
499
+
488
500
  ### Director & brand layer
489
501
  `director-blueprint` — validate + persist the project visual bible (`artifacts/project-blueprint.json`); `filmmaking-prompts` auto-appends a prose `DIRECTOR` addendum when present ([docs](https://videoclaw-docs.vercel.app/reference/DIRECTOR_BLUEPRINT)) · `brand-definition` — validate + persist the locked brand system (`artifacts/brand-definition.json`: palette/voice/typography/theme map, strict `#RRGGBB` hex validation); `filmmaking-prompts` auto-appends a prose `BRAND` line when present ([docs](https://videoclaw-docs.vercel.app/reference/BRAND_AGENCY))
490
502
 
@@ -507,6 +519,7 @@ Two recent additions are worth calling out because they fix the two things that
507
519
  - **Diegetic stills** (`vclaw video gen-image`) — generate an in-world **prop**, on-screen **screen** (UI/dashboard), or **overlay** graphic (e.g. a "SYSTEM COMPROMISED" alert) into `assets/props/`. Three backends via `--backend`: **gobananas** (default, `GO_BANANAS_API_KEY`, no OpenAI key), **openai** (gpt-image), and **flow** — Google Flow via useapi.net (`USEAPI_API_TOKEN` + `USEAPI_ACCOUNT_EMAIL`): `imagen-4` / `nano-banana` / `nano-banana-pro` auto-selected by reference count, repeated `--ref` (`reference_1..10`, local paths upload first) + `--character` (`character_1..7`, names resolve via `flow-characters.json`) slots, `--count`/`--seed`, and inline `@reference_N`/`@character_N` prompt markers validated **before any upload or spend**. Per-kind render directives (screens/overlays keep text, props suppress it); `--dry-run` prints the composed request with no spend. Composite it onto footage with the assemble overlay builders. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
508
520
  - **Motion-graphics overlays** (`vclaw video overlay`) — composite a graphic onto a clip (time-gated, faded, positioned — pairs with `gen-image` to drop a generated screen/alert onto footage, **font-free + real-render validated**), or burn a pulsing `--alert` / boxed `--lower-third` caption (FFmpeg `drawtext`, needs a libfreetype build). `--dry-run` prints the planned ffmpeg command. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
509
521
  - **Motion-overlay reels** (`vclaw video motion-overlay`) — turn an existing **talking-head video** into a reel with **motion-graphics overlays synced to the speech** via Google Flow's **Omni Flash V2V** (kinetic typography / icons / metaphors painted on the footage, original voice preserved). Plan/dry by default — ingest → Gemini STT (or `--transcript`) → sentence-boundary slice into ≤10s takes → per-take overlay-prompt composition → work folder + manifest + `--preview` review surface, **no spend**. `--execute --confirm-spend` renders each take (V2V → audio-restore → clip-stitch). Four layouts (`split` / `overlay` / `motion-only` / `avatar-host`); the `avatar-host` layout fills the frame with an **identity-locked character host** (go-bananas `generate_with_character` → Veo I2V) and needs `--gb-character <Name:ID>`. Full guide: [`docs/MOTION_OVERLAY.md`](https://videoclaw-docs.vercel.app/reference/MOTION_OVERLAY).
522
+ - **Style-locked motion graphics** (`vclaw video mograph-sheet` / `mograph-pack` / `mograph-render` / `mograph-logos`) — generate **fleets of explainer B-roll clips that share one look with zero drift**. A **motion sheet** (master style-board image + ≤120-word style lock, persisted as `artifacts/motion-sheet.json`) locks the visual system ONCE; a **motion pack** turns the VO into time-coded, **action-only** blocks tagged P1/P2/P3, gated by an anti-drift lint (style words and hex codes are banned from choreography). `mograph-render` is plan-only — it assembles `style lock + SHOT + AUDIO + AVOID` per block and compiles a **batch-queue manifest** for `batch-submit`/`batch-monitor` (free explore lane by default); v2v modes route to omni-flash. Clips carry **sound design only** (never music/VO — they sit under your own narration). Full guide: [`docs/MOGRAPH.md`](https://videoclaw-docs.vercel.app/reference/MOGRAPH).
510
523
 
511
524
  - **Music videos** (`vclaw video music-video`) — the **vocal-synced, beat-exact assembler**. From a hand-authored config (song + clip registry + B-roll pools + an explicit vocal map *or* a transcript it auto-classifies into rap / hook / instrumental / outro by **word density**), it pins each performer to **their own vocal** time-aligned across B-roll cutaways (lips stay locked to the muxed song), cuts every segment **frame-exact** (`-frames:v`, never `-t`, so there is **zero cumulative drift**), then concats + applies one grade pass + muxes the song. **Fully local — ffmpeg only, no provider, no spend.** Plan/dry by default; `--execute` renders and asserts the built master matches the plan within one frame. Full guide: [`docs/CLI_REFERENCE.md`](https://videoclaw-docs.vercel.app/reference/CLI_REFERENCE).
512
525
 
@@ -635,6 +648,7 @@ Every stage writes a canonical JSON artifact under `projects/<slug>/artifacts/`.
635
648
  - **character consistency** → `character-consistency.json`
636
649
  - **consistency audit** → `consistency-audit.json`
637
650
  - **motion-artifact QC** → `motion-artifact-qc.json`
651
+ - **keyframe QC** → `keyframe-qc.json`
638
652
 
639
653
  Artifacts are append-only via `artifacts/history/` and every write emits a machine-readable event to `events/events.jsonl`.
640
654
 
@@ -647,6 +661,10 @@ Unit + CLI contract tests run via `node:test`:
647
661
  ```bash
648
662
  npm test # build + full suite
649
663
  npm run test:node # rerun compiled tests only
664
+ npm run test:coverage # critical security/execution coverage gate
665
+ npm run lint # source safety/style checks
666
+ npm run check:module-size # prevent oversized-module growth
667
+ npm run check:test-python # verify Pillow/fonttools test prerequisites
650
668
  node --test dist/tests/cli-full-flow.test.js # single test file
651
669
  ```
652
670
 
@@ -1655,7 +1655,13 @@
1655
1655
  const asset = (path) => {
1656
1656
  const raw = String(path || "");
1657
1657
  if (!raw) return "";
1658
- if (/^https?:\/\//.test(raw)) return `/api/media-proxy?url=${encodeURIComponent(raw)}`;
1658
+ if (/^https?:\/\//.test(raw)) {
1659
+ const canonical = new URL(raw).href;
1660
+ const mediaId = inventory.remoteMediaIds?.[canonical];
1661
+ if (!mediaId) return "";
1662
+ const project = new URLSearchParams(window.location.search).get("project") || "";
1663
+ return `/api/media-proxy?project=${encodeURIComponent(project)}&id=${encodeURIComponent(mediaId)}`;
1664
+ }
1659
1665
  let normalized = raw;
1660
1666
  if (inventory.root && normalized.startsWith(inventory.root)) {
1661
1667
  normalized = normalized.slice(inventory.root.length).replace(/^\/+/, "");
@@ -1706,6 +1712,7 @@
1706
1712
 
1707
1713
  const inventory = {
1708
1714
  root: "",
1715
+ remoteMediaIds: {},
1709
1716
  projects: [
1710
1717
  { id: "fresh-proof", name: "fresh-proof", path: "projects/fresh-proof", status: "empty scaffold" }
1711
1718
  ],
@@ -1848,6 +1855,9 @@
1848
1855
  next.mediaAssets = Array.isArray(api.mediaAssets)
1849
1856
  ? api.mediaAssets.map((item) => item.path)
1850
1857
  : inventory.mediaAssets;
1858
+ next.remoteMediaIds = api.remoteMediaIds && typeof api.remoteMediaIds === "object"
1859
+ ? api.remoteMediaIds
1860
+ : {};
1851
1861
  next.referenceSheets = api.referenceSheets || { sheets: [] };
1852
1862
  next.sceneCandidates = api.sceneCandidates || { scenes: [] };
1853
1863
  next.sceneSelection = api.sceneSelection || { scenes: [] };
package/dist/cli/args.js CHANGED
@@ -146,12 +146,12 @@ export function parseSceneCharacters(args) {
146
146
  for (const assignment of assignments) {
147
147
  const separatorIndex = assignment.indexOf(':');
148
148
  if (separatorIndex < 0) {
149
- throw new Error(`Invalid --scene-character value: "${assignment}". Expected sceneIndex:name`);
149
+ throw new VclawError('invalid_flag_value', `Invalid --scene-character value: "${assignment}". Expected sceneIndex:name`, { flag: '--scene-character', value: assignment });
150
150
  }
151
151
  const sceneIndex = Number(assignment.slice(0, separatorIndex));
152
152
  const name = assignment.slice(separatorIndex + 1).trim();
153
153
  if (!Number.isInteger(sceneIndex) || sceneIndex < 0 || !name) {
154
- throw new Error(`Invalid --scene-character value: "${assignment}". Expected sceneIndex:name`);
154
+ throw new VclawError('invalid_flag_value', `Invalid --scene-character value: "${assignment}". Expected sceneIndex:name`, { flag: '--scene-character', value: assignment });
155
155
  }
156
156
  const current = charactersByScene.get(sceneIndex) ?? [];
157
157
  current.push(name);
@@ -174,10 +174,10 @@ export function parseSceneColorStates(args) {
174
174
  const sceneIndex = separatorIndex >= 0 ? Number(assignment.slice(0, separatorIndex)) : NaN;
175
175
  const gradeId = separatorIndex >= 0 ? assignment.slice(separatorIndex + 1).trim() : '';
176
176
  if (!Number.isInteger(sceneIndex) || sceneIndex < 0 || !gradeId) {
177
- throw new Error(`Invalid --scene-color value: "${assignment}". Expected sceneIndex:gradeId`);
177
+ throw new VclawError('invalid_flag_value', `Invalid --scene-color value: "${assignment}". Expected sceneIndex:gradeId`, { flag: '--scene-color', value: assignment });
178
178
  }
179
179
  if (!GRADE_FILTER_IDS.includes(gradeId)) {
180
- throw new Error(`Invalid --scene-color grade "${gradeId}". Known grades: ${GRADE_FILTER_IDS.join(', ')}`);
180
+ throw new VclawError('invalid_flag_value', `Invalid --scene-color grade "${gradeId}". Known grades: ${GRADE_FILTER_IDS.join(', ')}`, { flag: '--scene-color', value: assignment });
181
181
  }
182
182
  colorByScene.set(sceneIndex, gradeId);
183
183
  }
@@ -196,7 +196,7 @@ export function parseSceneVoicePresets(args) {
196
196
  const sceneIndex = separatorIndex >= 0 ? Number(assignment.slice(0, separatorIndex)) : NaN;
197
197
  const preset = separatorIndex >= 0 ? assignment.slice(separatorIndex + 1).trim() : '';
198
198
  if (!Number.isInteger(sceneIndex) || sceneIndex < 0 || !preset) {
199
- throw new Error(`Invalid --scene-voice value: "${assignment}". Expected sceneIndex:preset`);
199
+ throw new VclawError('invalid_flag_value', `Invalid --scene-voice value: "${assignment}". Expected sceneIndex:preset`, { flag: '--scene-voice', value: assignment });
200
200
  }
201
201
  voiceByScene.set(sceneIndex, preset);
202
202
  }
@@ -216,7 +216,7 @@ export function parseSceneRefVideos(args) {
216
216
  const sceneIndex = separatorIndex >= 0 ? Number(assignment.slice(0, separatorIndex)) : NaN;
217
217
  const mediaId = separatorIndex >= 0 ? assignment.slice(separatorIndex + 1).trim() : '';
218
218
  if (!Number.isInteger(sceneIndex) || sceneIndex < 0 || !mediaId) {
219
- throw new Error(`Invalid --scene-ref-video value: "${assignment}". Expected sceneIndex:mediaId`);
219
+ throw new VclawError('invalid_flag_value', `Invalid --scene-ref-video value: "${assignment}". Expected sceneIndex:mediaId`, { flag: '--scene-ref-video', value: assignment });
220
220
  }
221
221
  refVideoByScene.set(sceneIndex, mediaId);
222
222
  }
@@ -235,7 +235,7 @@ export function parseSceneFirstFrames(args) {
235
235
  for (const token of assignment.split(',')) {
236
236
  const sceneIndex = Number(token.trim());
237
237
  if (!Number.isInteger(sceneIndex) || sceneIndex < 0) {
238
- throw new Error(`Invalid --scene-first-frame value: "${assignment}". Expected sceneIndex or sceneIndex,sceneIndex`);
238
+ throw new VclawError('invalid_flag_value', `Invalid --scene-first-frame value: "${assignment}". Expected sceneIndex or sceneIndex,sceneIndex`, { flag: '--scene-first-frame', value: assignment });
239
239
  }
240
240
  firstFrameScenes.add(sceneIndex);
241
241
  }
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
@@ -18,4 +18,28 @@ export declare function handleVideoConsistencyAudit(args: string[]): Promise<voi
18
18
  * operator knows the audit could not actually look at the frames.
19
19
  */
20
20
  export declare function handleVideoMotionQc(args: string[]): Promise<void>;
21
+ /**
22
+ * `vclaw video keyframe-qc` — fail-fast pre-render keyframe readiness gate.
23
+ * Deterministic and offline (pure Node fs, PNG IHDR header parse — no vision
24
+ * model, no spend): given the storyboard's scene count it verifies every scene
25
+ * has `references/scene<i>-keyframe.png`, that each is a readable PNG, and that
26
+ * all keyframes share the dominant WxH. Persists `artifacts/keyframe-qc.json`
27
+ * and exits `ExitCode.GATE` (3) on status 'fail' so an `&&` chain or driver
28
+ * halts BEFORE `produce` spends on drifted/missing keyframes. A uniform but
29
+ * non-1280x720 set is advisory-only ('pass'). `--json` keeps the same
30
+ * machine-readable output (it always emits JSON).
31
+ */
32
+ export declare function handleVideoKeyframeQc(args: string[]): Promise<void>;
33
+ /**
34
+ * `vclaw video clip-qc` — per-second headcount over every rendered clip.
35
+ *
36
+ * The gap it fills: `consistency-audit` samples ONE mid-frame (identity) and
37
+ * `motion-qc` samples nine looking for morph/vanish artefacts. Neither counts
38
+ * people, so a figure walking into frame at t≈4s is invisible to both — and to
39
+ * the single-frame grabs an operator does by hand. Eight clips shipped that way.
40
+ *
41
+ * The filmstrip lane runs WITHOUT a vision key, because the contact sheet is
42
+ * what a human actually reads and is what exposed the original defect.
43
+ */
44
+ export declare function handleVideoClipQc(args: string[]): Promise<void>;
21
45
  //# sourceMappingURL=analysis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/analysis.ts"],"names":[],"mappings":"AA6BA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEtE;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3E;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/E;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CvE"}
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../../../src/cli/handlers/analysis.ts"],"names":[],"mappings":"AAgCA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEtE;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3E;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B/E;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CvE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BzE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoIrE"}