@autoaiai/aicut 0.1.7 → 0.1.11

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 (796) hide show
  1. package/MANUAL.md +10 -0
  2. package/package.json +1 -1
  3. package/product.json +2 -1
  4. package/skills/30x-web-to-video/SKILL.md +421 -0
  5. package/skills/30x-web-to-video/examples/INDEX.md +26 -0
  6. package/skills/30x-web-to-video/references/animations.md +539 -0
  7. package/skills/30x-web-to-video/references/audio.md +256 -0
  8. package/skills/30x-web-to-video/references/components.md +340 -0
  9. package/skills/30x-web-to-video/references/lottie.md +174 -0
  10. package/skills/30x-web-to-video/references/visual-effects.md +157 -0
  11. package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +169 -0
  12. package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +134 -0
  13. package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +120 -0
  14. package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +154 -0
  15. package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +38 -0
  16. package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +152 -0
  17. package/skills/3d-asset-generation/SKILL.md +142 -0
  18. package/skills/action-fight-prompt/SKILL.md +136 -0
  19. package/skills/action-fight-prompt/references/camera-and-impact.md +64 -0
  20. package/skills/action-fight-prompt/references/example-15s-duel.md +59 -0
  21. package/skills/action-fight-prompt/references/scene-patterns.md +80 -0
  22. package/skills/ad-creative-video/SKILL.md +205 -0
  23. package/skills/ad-creative-video/references/batch-ad-pipeline.md +289 -0
  24. package/skills/ad-creative-video/references/platform-specs.md +72 -0
  25. package/skills/after-effects/SKILL.md +123 -0
  26. package/skills/after-effects/references/export-recipes.md +168 -0
  27. package/skills/after-effects/references/expression-library.md +184 -0
  28. package/skills/after-effects/references/expressions.md +134 -0
  29. package/skills/after-effects/references/performance-triage.md +138 -0
  30. package/skills/after-effects/references/project-hygiene.md +188 -0
  31. package/skills/ai-media-quality-review/SKILL.md +72 -0
  32. package/skills/ai-product-video/SKILL.md +296 -0
  33. package/skills/ai-product-video/references/aesthetic-rules.md +177 -0
  34. package/skills/ai-product-video/references/final-review.md +110 -0
  35. package/skills/ai-product-video/references/guided-free-creation.md +194 -0
  36. package/skills/ai-product-video/references/music-beat-sync.md +219 -0
  37. package/skills/ai-product-video/references/pipeline.md +392 -0
  38. package/skills/ai-product-video/references/sequences/promo-energy-arc.md +50 -0
  39. package/skills/ai-product-video/references/shots/ATTRIBUTION.md +65 -0
  40. package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +37 -0
  41. package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +39 -0
  42. package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +38 -0
  43. package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +40 -0
  44. package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +57 -0
  45. package/skills/aicut/SKILL.md +4 -4
  46. package/skills/aicut/references/commands.md +15 -15
  47. package/skills/aicut/references/film-format.md +1 -1
  48. package/skills/aicut/references/recipes.md +4 -4
  49. package/skills/aicut/references/troubleshooting.md +2 -2
  50. package/skills/aicut-motion/SKILL.md +6 -6
  51. package/skills/aicut-motion/references/design-systems/README.md +1 -1
  52. package/skills/aicut-motion/references/pages.md +1 -1
  53. package/skills/anidoodle/SKILL.md +185 -0
  54. package/skills/anidoodle/references/anatomy.md +91 -0
  55. package/skills/anidoodle/references/backends-and-adapters.md +82 -0
  56. package/skills/anidoodle/references/camera.md +148 -0
  57. package/skills/anidoodle/references/craft-bar.md +72 -0
  58. package/skills/anidoodle/references/determinism-and-contract.md +46 -0
  59. package/skills/anidoodle/references/formats.md +121 -0
  60. package/skills/anidoodle/references/motion-grammar.md +234 -0
  61. package/skills/anidoodle/references/music/compose.md +388 -0
  62. package/skills/anidoodle/references/music/sound-design.md +245 -0
  63. package/skills/anidoodle/references/music/sounds-licenses.md +69 -0
  64. package/skills/anidoodle/references/music/styles/lofi-electronic.md +112 -0
  65. package/skills/anidoodle/references/music/styles/music-box.md +57 -0
  66. package/skills/animated-component-libraries/SKILL.md +820 -0
  67. package/skills/animated-component-libraries/references/customization_guide.md +699 -0
  68. package/skills/animated-component-libraries/references/magic_ui_components.md +422 -0
  69. package/skills/animated-component-libraries/references/react_bits_components.md +587 -0
  70. package/skills/animated-infographic/SKILL.md +211 -0
  71. package/skills/animated-infographic/references/sequenced-infographic.md +286 -0
  72. package/skills/appshot-core/SKILL.md +872 -0
  73. package/skills/article-highlights/SKILL.md +151 -0
  74. package/skills/avatar-mix/SKILL.md +301 -0
  75. package/skills/bang-motion/SKILL.md +583 -0
  76. package/skills/bang-motion/references/ae-bridge-higgsfield.md +160 -0
  77. package/skills/bang-motion/references/anti-ppt.md +110 -0
  78. package/skills/bang-motion/references/architecture.md +188 -0
  79. package/skills/bang-motion/references/explainer.md +579 -0
  80. package/skills/bang-motion/references/kartun-panggung.md +221 -0
  81. package/skills/bang-motion/references/opener-konsep.md +817 -0
  82. package/skills/bang-motion/references/roadmap.md +85 -0
  83. package/skills/bang-motion/references/techniques.md +690 -0
  84. package/skills/beat-sync-edit/SKILL.md +148 -0
  85. package/skills/book-video-factory/SKILL.md +139 -0
  86. package/skills/book-video-factory/references/first-run.md +50 -0
  87. package/skills/book-video-factory/references/paper-collage-explainer.md +127 -0
  88. package/skills/book-video-factory/references/quality-gates.md +87 -0
  89. package/skills/book-video-production/SKILL.md +211 -0
  90. package/skills/brag/SKILL.md +195 -0
  91. package/skills/brag/references/audio.md +312 -0
  92. package/skills/brag/references/step-1-inspect.md +125 -0
  93. package/skills/brag/references/step-2-plan.md +234 -0
  94. package/skills/brag/references/step-3-compose.md +199 -0
  95. package/skills/brag/references/step-4-deliver.md +141 -0
  96. package/skills/brag/references/tones.md +231 -0
  97. package/skills/brand-setup/SKILL.md +228 -0
  98. package/skills/brewreel/SKILL.md +491 -0
  99. package/skills/brewreel/docs/broll.en.md +252 -0
  100. package/skills/brewreel/docs/broll.md +252 -0
  101. package/skills/brewreel/docs/custom-shot.en.md +66 -0
  102. package/skills/brewreel/docs/custom-shot.md +103 -0
  103. package/skills/brewreel/docs/faq.en.md +90 -0
  104. package/skills/brewreel/docs/faq.md +90 -0
  105. package/skills/brewreel/docs/features.en.md +157 -0
  106. package/skills/brewreel/docs/features.md +157 -0
  107. package/skills/brewreel/docs/gallery.en.md +44 -0
  108. package/skills/brewreel/docs/gallery.md +44 -0
  109. package/skills/brewreel/docs/how-it-works.en.md +64 -0
  110. package/skills/brewreel/docs/how-it-works.md +64 -0
  111. package/skills/caption-animation/SKILL.md +216 -0
  112. package/skills/caption-animation/references/word-timed-captions.md +254 -0
  113. package/skills/cartcut-editing/SKILL.md +615 -0
  114. package/skills/cartcut-editing/references/html-typography.md +277 -0
  115. package/skills/cassette-video-edit/SKILL.md +129 -0
  116. package/skills/ccvideo/SKILL.md +264 -0
  117. package/skills/chekhov-dramaturgy/SKILL.md +367 -0
  118. package/skills/chekhov-dramaturgy/reference.md +375 -0
  119. package/skills/chengfeng-check-updates/SKILL.md +283 -0
  120. package/skills/cinematic-product-promo-skill/SKILL.md +295 -0
  121. package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +187 -0
  122. package/skills/cinematic-product-promo-skill/references/final-review.md +116 -0
  123. package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +199 -0
  124. package/skills/cinematic-product-promo-skill/references/jianying-export.md +183 -0
  125. package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +257 -0
  126. package/skills/cinematic-product-promo-skill/references/pipeline.md +393 -0
  127. package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +50 -0
  128. package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +65 -0
  129. package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +37 -0
  130. package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +39 -0
  131. package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +38 -0
  132. package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +40 -0
  133. package/skills/claude-gif/SKILL.md +211 -0
  134. package/skills/claude-gif/references/gif-optimization.md +209 -0
  135. package/skills/claude-gif/references/perfect-loops.md +295 -0
  136. package/skills/claude-gif/references/platform-specs.md +138 -0
  137. package/skills/claude-gif/references/prompt-engineering.md +211 -0
  138. package/skills/claude-gif/references/remotion-gif.md +560 -0
  139. package/skills/codex-video-pipeline/SKILL.md +213 -0
  140. package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +10 -0
  141. package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +22 -0
  142. package/skills/codex-video-pipeline/references/captions.md +39 -0
  143. package/skills/codex-video-pipeline/references/cover-system.md +72 -0
  144. package/skills/codex-video-pipeline/references/cross-platform.md +77 -0
  145. package/skills/codex-video-pipeline/references/example-run.md +54 -0
  146. package/skills/codex-video-pipeline/references/first-run.md +130 -0
  147. package/skills/codex-video-pipeline/references/project-contract.md +54 -0
  148. package/skills/codex-video-pipeline/references/quality-gates.md +44 -0
  149. package/skills/codex-video-pipeline/references/research-and-script.md +50 -0
  150. package/skills/collage-broll-explainers/SKILL.md +429 -0
  151. package/skills/create-onboarding-video/SKILL.md +233 -0
  152. package/skills/cs-shotcraft-skill/SKILL.md +218 -0
  153. package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +207 -0
  154. package/skills/cs-shotcraft-skill/references/camera-table.md +88 -0
  155. package/skills/cs-shotcraft-skill/references/engineering.md +132 -0
  156. package/skills/cs-shotcraft-skill/references/final-review.md +118 -0
  157. package/skills/cs-shotcraft-skill/references/guided-free-creation.md +199 -0
  158. package/skills/cs-shotcraft-skill/references/jianying-export.md +183 -0
  159. package/skills/cs-shotcraft-skill/references/music-beat-sync.md +257 -0
  160. package/skills/cs-shotcraft-skill/references/pipeline.md +408 -0
  161. package/skills/cs-shotcraft-skill/references/product-machine.md +56 -0
  162. package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +50 -0
  163. package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +65 -0
  164. package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +37 -0
  165. package/skills/cut-video/SKILL.md +387 -0
  166. package/skills/cyxj-hyperframes-overlay/SKILL.md +75 -0
  167. package/skills/cyxj-remotion-evolve/SKILL.md +123 -0
  168. package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +123 -0
  169. package/skills/demo-video-creation-skill/SKILL.md +152 -0
  170. package/skills/demo-video-creation-skill/references/capture-workflow.md +74 -0
  171. package/skills/demo-video-creation-skill/references/qc-checklist.md +61 -0
  172. package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +94 -0
  173. package/skills/demo-video-creation-skill/references/storytelling.md +86 -0
  174. package/skills/demo-video-creation-skill/references/visual-system.md +83 -0
  175. package/skills/demoday/SKILL.md +148 -0
  176. package/skills/develop-premiere-pro-mcp/SKILL.md +131 -0
  177. package/skills/diagram-animation/SKILL.md +200 -0
  178. package/skills/diagram-animation/references/diagram-and-chart-recipes.md +218 -0
  179. package/skills/diagram-tour/SKILL.md +287 -0
  180. package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +78 -0
  181. package/skills/docvideoer/SKILL.md +139 -0
  182. package/skills/draftcut/SKILL.md +104 -0
  183. package/skills/draftcut/docs/agent-bootstrap.md +64 -0
  184. package/skills/draftcut/docs/approvals.md +45 -0
  185. package/skills/draftcut/docs/audio-first-migration.md +35 -0
  186. package/skills/draftcut/docs/configuration.md +54 -0
  187. package/skills/draftcut/docs/getting-started.md +63 -0
  188. package/skills/draftcut/docs/harness-case-study.en.md +23 -0
  189. package/skills/draftcut/docs/harness-case-study.md +47 -0
  190. package/skills/draftcut/references/01-plan.md +30 -0
  191. package/skills/draftcut/references/03-deliver.md +26 -0
  192. package/skills/draftcut/references/04-reference-theme-prompt.md +7 -0
  193. package/skills/draftcut/references/05-social-loudness.md +58 -0
  194. package/skills/draftcut/references/06-modern-components.md +72 -0
  195. package/skills/easyedit/SKILL.md +66 -0
  196. package/skills/erduo-broll-loop-engineering/SKILL.md +136 -0
  197. package/skills/erduo-broll-loop-engineering/references/animation-craft.md +208 -0
  198. package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +107 -0
  199. package/skills/erduo-broll-loop-engineering/references/handoff-template.md +70 -0
  200. package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +122 -0
  201. package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +171 -0
  202. package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +322 -0
  203. package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +334 -0
  204. package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +76 -0
  205. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +174 -0
  206. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +135 -0
  207. package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +7 -0
  208. package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +65 -0
  209. package/skills/explainer-assets/SKILL.md +98 -0
  210. package/skills/explainer-video/SKILL.md +146 -0
  211. package/skills/framewright/SKILL.md +324 -0
  212. package/skills/framewright/references/audio.md +230 -0
  213. package/skills/framewright/references/guide.md +276 -0
  214. package/skills/framewright/references/painting.md +425 -0
  215. package/skills/framewright/references/photo.md +75 -0
  216. package/skills/framewright/references/questionnaire.md +115 -0
  217. package/skills/framewright/references/styles.md +388 -0
  218. package/skills/framewright/references/troubleshooting.md +119 -0
  219. package/skills/framewright/references/world.md +215 -0
  220. package/skills/gbro-collage-broll/SKILL.md +435 -0
  221. package/skills/gbro-collage-info/SKILL.md +135 -0
  222. package/skills/gbro-collage-info/references/motion-grammar.md +66 -0
  223. package/skills/gbro-collage-info/references/production.md +67 -0
  224. package/skills/gbro-collage-info/references/style-system.md +38 -0
  225. package/skills/gemini-tts/SKILL.md +208 -0
  226. package/skills/gemini-tts/references/prompting-guide.md +169 -0
  227. package/skills/gen/SKILL.md +282 -0
  228. package/skills/ghost-editor/SKILL.md +437 -0
  229. package/skills/ghost-editor/docs/HOW-IT-WORKS.md +82 -0
  230. package/skills/ghost-editor/docs/PLAYBOOK.md +139 -0
  231. package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +17 -0
  232. package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +13 -0
  233. package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +20 -0
  234. package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +17 -0
  235. package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +22 -0
  236. package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +22 -0
  237. package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +20 -0
  238. package/skills/ghost-editor/docs/THIRD_PARTY/models.md +11 -0
  239. package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +13 -0
  240. package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +15 -0
  241. package/skills/git-story-film/SKILL.md +220 -0
  242. package/skills/git-story-film/examples/raven-story/FONTS.md +8 -0
  243. package/skills/git-story-film/examples/raven-story/OUTLINE.md +93 -0
  244. package/skills/git-story-film/references/craft.md +148 -0
  245. package/skills/git-story-film/references/directing.md +185 -0
  246. package/skills/git-story-film/references/forms.md +150 -0
  247. package/skills/git-story-film/references/production.md +150 -0
  248. package/skills/git-story-film/references/story.md +137 -0
  249. package/skills/git-story-film/references/text-and-fonts.md +90 -0
  250. package/skills/guizang-product-video-skill/SKILL.md +96 -0
  251. package/skills/guizang-product-video-skill/references/audio-and-qa.md +113 -0
  252. package/skills/guizang-product-video-skill/references/audio-sourcing.md +80 -0
  253. package/skills/guizang-product-video-skill/references/case-study.md +63 -0
  254. package/skills/guizang-product-video-skill/references/component-pipeline.md +86 -0
  255. package/skills/guizang-product-video-skill/references/cover.md +43 -0
  256. package/skills/guizang-product-video-skill/references/direction.md +91 -0
  257. package/skills/guizang-product-video-skill/references/onboarding.md +98 -0
  258. package/skills/guizang-product-video-skill/references/repo-and-style.md +44 -0
  259. package/skills/guizang-product-video-skill/references/review.md +38 -0
  260. package/skills/guizang-product-video-skill/references/starter.md +168 -0
  261. package/skills/guizang-product-video-skill/references/story-and-copy.md +88 -0
  262. package/skills/guizang-product-video-skill/references/visual-vocabulary.md +78 -0
  263. package/skills/guofeng-paper-video/SKILL.md +159 -0
  264. package/skills/guofeng-paper-video/style/design.md +43 -0
  265. package/skills/guofeng-paper-video/style/palette.md +21 -0
  266. package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +19 -0
  267. package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +37 -0
  268. package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +27 -0
  269. package/skills/guofeng-paper-video/style//345/210/206/351/225/234/344/270/216/345/233/276/345/261/202/350/247/204/350/214/203.md +67 -0
  270. package/skills/guofeng-paper-video/style//347/272/270/347/211/207/347/264/240/346/235/220/350/247/204/350/214/203.md +29 -0
  271. package/skills/hand-drawn-explainer-video-nikola/SKILL.md +113 -0
  272. package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +18 -0
  273. package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +22 -0
  274. package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +28 -0
  275. package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +35 -0
  276. package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +24 -0
  277. package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +67 -0
  278. package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +79 -0
  279. package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +49 -0
  280. package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +82 -0
  281. package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +39 -0
  282. package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +30 -0
  283. package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +37 -0
  284. package/skills/hbg-life-simulation/SKILL.md +285 -0
  285. package/skills/hbg-life-simulation/references/image-generation.md +53 -0
  286. package/skills/hbg-life-simulation/references/local-account-api.md +112 -0
  287. package/skills/hbg-life-simulation/references/opening-system.md +45 -0
  288. package/skills/hbg-life-simulation/references/project-spec.md +62 -0
  289. package/skills/hbg-life-simulation/references/render-and-qa.md +107 -0
  290. package/skills/hbg-life-simulation/references/storyboarding.md +69 -0
  291. package/skills/hbg-life-simulation/references/style-system.md +80 -0
  292. package/skills/hbg-life-simulation/references/visual-system.md +44 -0
  293. package/skills/heygen-avatar/SKILL.md +489 -0
  294. package/skills/heygen-avatar/references/asset-routing.md +86 -0
  295. package/skills/heygen-avatar/references/avatar-creation.md +181 -0
  296. package/skills/heygen-avatar/references/troubleshooting.md +137 -0
  297. package/skills/heytea-doodle-poster/SKILL.md +132 -0
  298. package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +103 -0
  299. package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +122 -0
  300. package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +106 -0
  301. package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +264 -0
  302. package/skills/heytea-doodle-poster/references/evaluation.md +246 -0
  303. package/skills/heytea-doodle-poster/references/lettering-guide.md +213 -0
  304. package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +101 -0
  305. package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +56 -0
  306. package/skills/heytea-doodle-poster/references/style-guide.md +412 -0
  307. package/skills/heytea-doodle-poster-hosted/SKILL.md +132 -0
  308. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +103 -0
  309. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +122 -0
  310. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +106 -0
  311. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +264 -0
  312. package/skills/heytea-doodle-poster-hosted/references/evaluation.md +246 -0
  313. package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +213 -0
  314. package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +101 -0
  315. package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +56 -0
  316. package/skills/heytea-doodle-poster-hosted/references/style-guide.md +412 -0
  317. package/skills/html2video/SKILL.md +290 -0
  318. package/skills/html2video/references/cjk-type.md +173 -0
  319. package/skills/html2video/references/editorial.md +145 -0
  320. package/skills/html2video/references/narration.md +111 -0
  321. package/skills/html2video/references/pitfalls.md +238 -0
  322. package/skills/html2video/references/shots.md +198 -0
  323. package/skills/html2video/references/storyboard.md +323 -0
  324. package/skills/hyperdirector/SKILL.md +202 -0
  325. package/skills/hyperdirector/docs/audio-workflow.md +160 -0
  326. package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +244 -0
  327. package/skills/hyperdirector/docs/brand-kit-setup.md +322 -0
  328. package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +277 -0
  329. package/skills/hyperdirector/docs/cursor-development-notes.md +474 -0
  330. package/skills/hyperdirector/docs/faq.md +285 -0
  331. package/skills/hyperdirector/docs/faq.zh-CN.md +198 -0
  332. package/skills/hyperdirector/docs/first-video.md +320 -0
  333. package/skills/hyperdirector/docs/first-video.zh-CN.md +265 -0
  334. package/skills/hyperdirector/docs/installation.md +254 -0
  335. package/skills/hyperdirector/docs/installation.zh-CN.md +222 -0
  336. package/skills/hyperdirector/docs/quickstart.md +203 -0
  337. package/skills/hyperframes/SKILL.md +117 -0
  338. package/skills/hyperframes/references/captions.md +46 -0
  339. package/skills/hyperframes/references/film.md +48 -0
  340. package/skills/hyperframes/references/format.md +158 -0
  341. package/skills/hyperframes/references/look.md +69 -0
  342. package/skills/hyperframes/references/motion.md +95 -0
  343. package/skills/hyperframes/references/overlays.md +39 -0
  344. package/skills/hyperframes/references/review.md +51 -0
  345. package/skills/hyperframes/references/runtimes.md +69 -0
  346. package/skills/hyperframes/references/skill-lifecycle.md +49 -0
  347. package/skills/hyperframes/references/sound.md +43 -0
  348. package/skills/hyperframes/references/spec.md +76 -0
  349. package/skills/hyperframes/references/story.md +103 -0
  350. package/skills/hyperframes-motion-director/SKILL.md +920 -0
  351. package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +185 -0
  352. package/skills/hyperframes-motion-director/references/audio-sync.md +83 -0
  353. package/skills/hyperframes-motion-director/references/design-engineering.md +156 -0
  354. package/skills/hyperframes-motion-director/references/gsap-choreography.md +202 -0
  355. package/skills/hyperframes-motion-director/references/hyperframes-stability.md +99 -0
  356. package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +227 -0
  357. package/skills/hyperframes-motion-director/references/motion-background-system.md +165 -0
  358. package/skills/hyperframes-motion-director/references/motion-craft.md +182 -0
  359. package/skills/hyperframes-motion-director/references/premium-product-promo.md +287 -0
  360. package/skills/hyperframes-motion-director/references/text-over-background-layout.md +221 -0
  361. package/skills/hyperframes-motion-director/references/visual-standard.md +174 -0
  362. package/skills/hyperframes-motion-director/references/workflow.md +320 -0
  363. package/skills/hypit/SKILL.md +367 -0
  364. package/skills/hypit/references/creation/brief.md +93 -0
  365. package/skills/hypit/references/creation/script-and-time.md +259 -0
  366. package/skills/hypit/references/creation/transformations.md +143 -0
  367. package/skills/hypit/references/playbooks/craft/b-roll.md +94 -0
  368. package/skills/hypit/references/playbooks/craft/caption-tracking.md +126 -0
  369. package/skills/hypit/references/playbooks/craft/captions.md +253 -0
  370. package/skills/hypit/references/playbooks/craft/generated-dependencies.md +38 -0
  371. package/skills/hypit/references/playbooks/craft/graphic-compositions.md +85 -0
  372. package/skills/hypit/references/playbooks/craft/motion-graphics.md +68 -0
  373. package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +51 -0
  374. package/skills/hypit/references/playbooks/craft/sound-mix.md +70 -0
  375. package/skills/hypit/references/playbooks/formats/narration-led-demo.md +87 -0
  376. package/skills/image/SKILL.md +153 -0
  377. package/skills/image/references/characters.md +86 -0
  378. package/skills/image/references/creative-direction.md +137 -0
  379. package/skills/image/references/de-slop.md +95 -0
  380. package/skills/image/references/dimensional.md +88 -0
  381. package/skills/image/references/editing.md +112 -0
  382. package/skills/image/references/golden-rules.md +198 -0
  383. package/skills/image/references/gpt-image.md +228 -0
  384. package/skills/image/references/models.md +78 -0
  385. package/skills/image/references/multi-panel.md +354 -0
  386. package/skills/image/references/nano-banana.md +150 -0
  387. package/skills/image/references/patterns/character-design.md +150 -0
  388. package/skills/image/references/patterns/ecommerce.md +124 -0
  389. package/skills/image-smixs/SKILL.md +153 -0
  390. package/skills/image-smixs/references/characters.md +86 -0
  391. package/skills/image-smixs/references/creative-direction.md +137 -0
  392. package/skills/image-smixs/references/de-slop.md +95 -0
  393. package/skills/image-smixs/references/dimensional.md +88 -0
  394. package/skills/image-smixs/references/editing.md +112 -0
  395. package/skills/image-smixs/references/golden-rules.md +198 -0
  396. package/skills/image-smixs/references/gpt-image.md +228 -0
  397. package/skills/image-smixs/references/models.md +78 -0
  398. package/skills/image-smixs/references/multi-panel.md +354 -0
  399. package/skills/image-smixs/references/nano-banana.md +150 -0
  400. package/skills/image-smixs/references/patterns/character-design.md +150 -0
  401. package/skills/image-smixs/references/patterns/ecommerce.md +124 -0
  402. package/skills/image-story-video-wizard/SKILL.md +148 -0
  403. package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +29 -0
  404. package/skills/image-story-video-wizard/references/host-routing.md +44 -0
  405. package/skills/image-story-video-wizard/references/state-schema.md +79 -0
  406. package/skills/image-story-video-wizard/references/workflow.md +203 -0
  407. package/skills/image-story-video-wizard/references/writing-and-review.md +60 -0
  408. package/skills/ip-as-logo/SKILL.md +151 -0
  409. package/skills/ip-as-logo-s1dashu/SKILL.md +151 -0
  410. package/skills/jtxvideo-skill/SKILL.md +337 -0
  411. package/skills/kinetic-reel/SKILL.md +140 -0
  412. package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +51 -0
  413. package/skills/kinetic-reel/references/sound.md +40 -0
  414. package/skills/kinetic-reel/references/style-guide.md +79 -0
  415. package/skills/knowledge-explainer-skill/SKILL.md +149 -0
  416. package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +61 -0
  417. package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +20 -0
  418. package/skills/knowledge-explainer-skill/examples/before_after_demo.md +38 -0
  419. package/skills/knowledge-explainer-skill/examples/cta_outro.md +11 -0
  420. package/skills/knowledge-explainer-skill/examples/double_pendulum.md +20 -0
  421. package/skills/knowledge-explainer-skill/examples/paper_fold.md +20 -0
  422. package/skills/knowledge-explainer-skill/examples/script.md +40 -0
  423. package/skills/lanshu-create-ai-presenter-video/SKILL.md +253 -0
  424. package/skills/lanshu-create-ai-presenter-video/references/editing.md +67 -0
  425. package/skills/lanshu-create-ai-presenter-video/references/generation.md +94 -0
  426. package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +83 -0
  427. package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +189 -0
  428. package/skills/laoxu-video-script/SKILL.md +117 -0
  429. package/skills/laoxu-video-script/references/cases.md +305 -0
  430. package/skills/laoxu-video-script/references/de-ai.md +32 -0
  431. package/skills/laoxu-video-script/references/diagnostics.md +67 -0
  432. package/skills/laoxu-video-script/references/format.md +62 -0
  433. package/skills/laoxu-video-script/references/formulas.md +43 -0
  434. package/skills/laoxu-video-script/references/method.md +115 -0
  435. package/skills/laoxu-video-script/references/motifs-and-lines.md +829 -0
  436. package/skills/laoxu-video-script/references/persona.md +38 -0
  437. package/skills/laoxu-video-script/references/qihao-path.md +35 -0
  438. package/skills/laoxu-video-script/references/qihao-xinfa.md +39 -0
  439. package/skills/laoxu-video-script/references/redlines.md +26 -0
  440. package/skills/lemo-opuscar/SKILL.md +67 -0
  441. package/skills/lipnardo/SKILL.md +308 -0
  442. package/skills/lipnardo/examples/batch-personalized.md +44 -0
  443. package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +56 -0
  444. package/skills/lipnardo/examples/single-video.md +44 -0
  445. package/skills/lipnardo/references/avatar-types.md +42 -0
  446. package/skills/lipnardo/references/credit-costs.md +39 -0
  447. package/skills/lipnardo/references/error-codes.md +66 -0
  448. package/skills/lipnardo/references/heygen-api-reference.md +416 -0
  449. package/skills/ll-video-decomposer/SKILL.md +105 -0
  450. package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +44 -0
  451. package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +41 -0
  452. package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +48 -0
  453. package/skills/ll-video-decomposer/references/single-video-report-template.md +47 -0
  454. package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +30 -0
  455. package/skills/ll-video-decomposer/references/transcription-routing.md +65 -0
  456. package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +30 -0
  457. package/skills/ltx2-video/SKILL.md +193 -0
  458. package/skills/ltx2-video/references/mode_ux.md +293 -0
  459. package/skills/make-ai-short/SKILL.md +130 -0
  460. package/skills/make-blender-education-video/SKILL.md +247 -0
  461. package/skills/make-blender-education-video/references/evidence-and-explanation.md +62 -0
  462. package/skills/make-blender-education-video/references/github-workflow-discovery.md +55 -0
  463. package/skills/make-blender-education-video/references/production-workflow.md +62 -0
  464. package/skills/make-blender-education-video/references/story-patterns.md +65 -0
  465. package/skills/make-blender-education-video/references/visual-quality.md +82 -0
  466. package/skills/manage-storyboard-projects/SKILL.md +128 -0
  467. package/skills/manim-composer/SKILL.md +176 -0
  468. package/skills/manim-composer/references/narrative-patterns.md +125 -0
  469. package/skills/manim-composer/references/scene-examples.md +216 -0
  470. package/skills/manim-composer/references/visual-techniques.md +223 -0
  471. package/skills/manim-composer/templates/scenes-template.md +147 -0
  472. package/skills/monet-ai-editor-monet/SKILL.md +367 -0
  473. package/skills/motion-graphics/SKILL.md +206 -0
  474. package/skills/motion-graphics/references/craft.md +136 -0
  475. package/skills/motion-graphics/references/engine.md +130 -0
  476. package/skills/motion-graphics/references/export.md +67 -0
  477. package/skills/motion-graphics/references/physics.md +100 -0
  478. package/skills/motion-graphics/references/verify.md +124 -0
  479. package/skills/motion-video/SKILL.md +133 -0
  480. package/skills/motion-video/references/audio-and-beat-sync.md +109 -0
  481. package/skills/motion-video/references/composition-contract.md +107 -0
  482. package/skills/motion-video/references/production-pipeline.md +147 -0
  483. package/skills/motion-video/references/style-comic-spiderverse.md +87 -0
  484. package/skills/motion-video/references/style-glass-keynote.md +69 -0
  485. package/skills/motion-video-maker/SKILL.md +1452 -0
  486. package/skills/motion-video-maker/reference/components.md +451 -0
  487. package/skills/motion-video-maker/reference/workflow.md +190 -0
  488. package/skills/motioncraft/SKILL.md +221 -0
  489. package/skills/motioncraft/references/animation-system.md +57 -0
  490. package/skills/motioncraft/references/assets-and-licensing.md +21 -0
  491. package/skills/motioncraft/references/customization.md +52 -0
  492. package/skills/motioncraft/references/gpu-cloud-render.md +15 -0
  493. package/skills/motioncraft/references/music.md +43 -0
  494. package/skills/motioncraft/references/phase1-planning-and-preview.md +74 -0
  495. package/skills/motioncraft/references/phase2-timeline-audio.md +33 -0
  496. package/skills/motioncraft/references/phase3-pixel-review.md +13 -0
  497. package/skills/motioncraft/references/phase4-templates.md +30 -0
  498. package/skills/motioncraft/references/preflight.md +27 -0
  499. package/skills/motioncraft/references/qa.md +53 -0
  500. package/skills/motioncraft/references/reference-analysis.md +37 -0
  501. package/skills/narrator-ai-cli/SKILL.md +256 -0
  502. package/skills/narrator-ai-cli/references/magic-video.md +205 -0
  503. package/skills/narrator-ai-cli/references/operations.md +230 -0
  504. package/skills/narrator-ai-cli/references/resources.md +126 -0
  505. package/skills/narrator-ai-cli/references/workflows.md +332 -0
  506. package/skills/newcut-video-clipping/SKILL.md +194 -0
  507. package/skills/newcut-video-clipping/references/examples.md +59 -0
  508. package/skills/newcut-video-clipping/references/provider-config.md +110 -0
  509. package/skills/newcut-video-clipping/references/quality-check.md +35 -0
  510. package/skills/newcut-video-clipping/references/semantic-plan.md +65 -0
  511. package/skills/notes-to-video/SKILL.md +476 -0
  512. package/skills/openchatcut/SKILL.md +100 -0
  513. package/skills/openchatcut/references/editing-workflow.md +54 -0
  514. package/skills/openchatcut/references/getting-started.md +106 -0
  515. package/skills/openchatcut/references/known-errors.md +62 -0
  516. package/skills/openstoryline-install/SKILL.md +228 -0
  517. package/skills/orca-motion/SKILL.md +100 -0
  518. package/skills/orca-motion/references/api.md +100 -0
  519. package/skills/orca-motion/references/integration.md +59 -0
  520. package/skills/orca-motion/references/kinetic-type.md +59 -0
  521. package/skills/orca-motion/references/principles.md +76 -0
  522. package/skills/package-talking-head-video/SKILL.md +90 -0
  523. package/skills/package-talking-head-video/docs/EXAMPLES.md +18 -0
  524. package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +29 -0
  525. package/skills/package-talking-head-video/docs/USAGE.md +83 -0
  526. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +144 -0
  527. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +1099 -0
  528. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +154 -0
  529. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +365 -0
  530. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +56 -0
  531. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +8 -0
  532. package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +34 -0
  533. package/skills/package-talking-head-video/references/director-rules.md +29 -0
  534. package/skills/package-talking-head-video/references/motion-and-illustration.md +25 -0
  535. package/skills/paper-cut/SKILL.md +164 -0
  536. package/skills/paper-cut/references/asset-spec.md +47 -0
  537. package/skills/paper-cut/references/audio-and-chatcut.md +26 -0
  538. package/skills/paper-cut/references/hyperframes-assembly.md +47 -0
  539. package/skills/paper-cut/references/image-led-production.md +65 -0
  540. package/skills/paper-cut/references/storyboard-schema.md +48 -0
  541. package/skills/paper-cut/references/workflow.md +39 -0
  542. package/skills/personal-ip-brand-intro/SKILL.md +216 -0
  543. package/skills/personal-ip-brand-intro/references/intake-schema.md +79 -0
  544. package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +40 -0
  545. package/skills/personal-ip-brand-intro/references/originality-rules.md +42 -0
  546. package/skills/personal-ip-brand-intro/references/qa-checklist.md +60 -0
  547. package/skills/personal-ip-brand-intro/references/rhythm-routing.md +41 -0
  548. package/skills/personal-ip-brand-intro/references/storyboard-contract.md +42 -0
  549. package/skills/pixel2motion/SKILL.md +279 -0
  550. package/skills/pixel2motion/references/html-delivery-template.md +42 -0
  551. package/skills/pixel2motion/references/motion-personality.md +109 -0
  552. package/skills/pixel2motion/references/reveal-patterns.md +163 -0
  553. package/skills/pixel2motion/references/ribbon-fitting.md +90 -0
  554. package/skills/pixel2motion/references/twelve-principles-for-logos.md +116 -0
  555. package/skills/premiere-batch-delivery/SKILL.md +71 -0
  556. package/skills/premiere-pro-mcp/SKILL.md +161 -0
  557. package/skills/promo-creator-skills/SKILL.md +209 -0
  558. package/skills/promo-creator-skills/references/mureka_prompt_guide.md +251 -0
  559. package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +100 -0
  560. package/skills/promo-video/SKILL.md +408 -0
  561. package/skills/qisi-video-remix/SKILL.md +134 -0
  562. package/skills/qisi-video-remix/examples/creative-plan.md +133 -0
  563. package/skills/qisi-video-remix/references/delivery-guide.md +63 -0
  564. package/skills/reel-video/SKILL.md +237 -0
  565. package/skills/remotion-ad-video/SKILL.md +252 -0
  566. package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +60 -0
  567. package/skills/remotion-ad-video/references/ad-brief-contract.md +235 -0
  568. package/skills/remotion-ad-video/references/ad-exemplars.md +186 -0
  569. package/skills/remotion-ad-video/references/ad-intake.md +54 -0
  570. package/skills/remotion-ad-video/references/asset-harvest.md +56 -0
  571. package/skills/remotion-ad-video/references/audio-caption-system.md +202 -0
  572. package/skills/remotion-ad-video/references/concept-contract.md +128 -0
  573. package/skills/remotion-ad-video/references/creative-direction.md +146 -0
  574. package/skills/remotion-ad-video/references/fast-test-workflow.md +86 -0
  575. package/skills/remotion-ad-video/references/game-ad-patterns.md +75 -0
  576. package/skills/remotion-ad-video/references/hyperframes-output.md +90 -0
  577. package/skills/remotion-ad-video/references/industry-angle-library.md +71 -0
  578. package/skills/remotion-ads/SKILL.md +278 -0
  579. package/skills/remotion-ads/references/ad-copywriting.md +229 -0
  580. package/skills/remotion-ads/references/animations.md +693 -0
  581. package/skills/remotion-ads/references/brand-config-template.md +355 -0
  582. package/skills/remotion-ads/references/captions.md +529 -0
  583. package/skills/remotion-ads/references/carousels.md +580 -0
  584. package/skills/remotion-ads/references/components.md +897 -0
  585. package/skills/remotion-ads/references/copy-frameworks.md +144 -0
  586. package/skills/remotion-ads/references/formats.md +436 -0
  587. package/skills/remotion-ads/references/gemini-tts.md +473 -0
  588. package/skills/remotion-ads/references/html-in-canvas.md +555 -0
  589. package/skills/remotion-ads/references/local-assets.md +543 -0
  590. package/skills/remotion-ads/references/music.md +656 -0
  591. package/skills/remotion-code-motion-explainer/SKILL.md +178 -0
  592. package/skills/remotion-code-motion-explainer/references/code-motion-design.md +86 -0
  593. package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +93 -0
  594. package/skills/remotion-code-motion-explainer/references/production-and-qc.md +99 -0
  595. package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +48 -0
  596. package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +62 -0
  597. package/skills/remotion-motion-graphics/SKILL.md +169 -0
  598. package/skills/remotion-motion-graphics/references/patterns.md +355 -0
  599. package/skills/remotion-motion-graphics/references/polish.md +102 -0
  600. package/skills/remotion-motion-graphics/references/scaffold.md +144 -0
  601. package/skills/remotion-motion-graphics/references/traps.md +152 -0
  602. package/skills/remotion-resemble-ai/SKILL.md +879 -0
  603. package/skills/remotion-resemble-ai/rules/resemble-captions.md +350 -0
  604. package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +305 -0
  605. package/skills/remotion-resemble-ai/rules/resemble-setup.md +284 -0
  606. package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +225 -0
  607. package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +239 -0
  608. package/skills/remotion-resemble-ai/rules/resemble-voices.md +213 -0
  609. package/skills/remotion-resemble-ai/rules/visual-animations.md +567 -0
  610. package/skills/riffkit/SKILL.md +196 -0
  611. package/skills/riffkit/examples/any-look-styles.md +11 -0
  612. package/skills/riffkit/examples/faceless-and-auto.md +16 -0
  613. package/skills/riffkit/examples/localize-spanish.md +18 -0
  614. package/skills/riffkit/examples/tiktok-shop-product.md +22 -0
  615. package/skills/riffkit/references/anchor.md +62 -0
  616. package/skills/riffkit/references/api.md +806 -0
  617. package/skills/riffkit/references/details.md +153 -0
  618. package/skills/riffkit/references/errors.md +69 -0
  619. package/skills/riffkit/references/intents.md +29 -0
  620. package/skills/saas-motion-video/SKILL.md +71 -0
  621. package/skills/script-to-video/SKILL.md +2627 -0
  622. package/skills/shorts/SKILL.md +372 -0
  623. package/skills/shorts/references/caption-styles.md +105 -0
  624. package/skills/shorts/references/platform-specs.md +149 -0
  625. package/skills/shorts/references/remotion-patterns.md +180 -0
  626. package/skills/shorts/references/scoring-rubric.md +106 -0
  627. package/skills/smart-video-editor/SKILL.md +327 -0
  628. package/skills/smart-video-editor/docs/FONTS.md +57 -0
  629. package/skills/story-telling/SKILL.md +222 -0
  630. package/skills/story-telling/rules/composition.md +130 -0
  631. package/skills/story-telling/rules/images.md +119 -0
  632. package/skills/story-telling/rules/models.md +98 -0
  633. package/skills/story-telling/rules/narration.md +87 -0
  634. package/skills/story-telling/rules/pitfalls.md +140 -0
  635. package/skills/story-telling/rules/story-formats.md +108 -0
  636. package/skills/story-telling/rules/story-json.md +143 -0
  637. package/skills/story-telling/rules/voices.md +114 -0
  638. package/skills/story-telling/rules/workflow.md +105 -0
  639. package/skills/story-to-handdrawn-video/SKILL.md +216 -0
  640. package/skills/story-to-handdrawn-video/references/asset-workflow.md +24 -0
  641. package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +27 -0
  642. package/skills/su-card-to-video/SKILL.md +103 -0
  643. package/skills/talking-head-video-pipeline/SKILL.md +224 -0
  644. package/skills/talking-head-video-pipeline/examples/prompts.md +217 -0
  645. package/skills/talking-head-video-pipeline/references/asr-adapters.md +51 -0
  646. package/skills/talking-head-video-pipeline/references/caption-workflow.md +53 -0
  647. package/skills/talking-head-video-pipeline/references/export-recipes.md +78 -0
  648. package/skills/talking-head-video-pipeline/references/layout-safety.md +49 -0
  649. package/skills/talking-head-video-pipeline/references/video-use-integration.md +71 -0
  650. package/skills/talking-head-video-pipeline/references/workflows/captions.md +52 -0
  651. package/skills/talking-head-video-pipeline/references/workflows/design.md +77 -0
  652. package/skills/talking-head-video-pipeline/references/workflows/doctor.md +51 -0
  653. package/skills/talking-head-video-pipeline/references/workflows/export.md +50 -0
  654. package/skills/talking-head-video-pipeline/references/workflows/init.md +51 -0
  655. package/skills/talking-head-video-pipeline/references/workflows/learn.md +36 -0
  656. package/skills/text-to-lottie/SKILL.md +202 -0
  657. package/skills/text-to-lottie/references/chapterization-transition-grammar.md +132 -0
  658. package/skills/text-to-lottie/references/design-taste.md +292 -0
  659. package/skills/text-to-lottie/references/lottie-spec-map.md +82 -0
  660. package/skills/text-to-lottie/references/motion-taste.md +260 -0
  661. package/skills/text-to-lottie/references/player-contract.md +325 -0
  662. package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +65 -0
  663. package/skills/text-to-lottie/references/recipe-data-stats.md +104 -0
  664. package/skills/text-to-lottie/references/recipe-diagram-technical.md +106 -0
  665. package/skills/text-to-lottie/references/recipe-loaders-icons.md +70 -0
  666. package/skills/text-to-lottie/references/recipe-logo.md +72 -0
  667. package/skills/text-to-lottie/references/recipe-lower-thirds.md +62 -0
  668. package/skills/text-to-lottie/references/recipe-product-promo.md +99 -0
  669. package/skills/ultrademo/SKILL.md +212 -0
  670. package/skills/video-assemble/SKILL.md +101 -0
  671. package/skills/video-assemble-zenstory-ai/SKILL.md +153 -0
  672. package/skills/video-assemble-zenstory-ai/references/audio-modes.md +63 -0
  673. package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +77 -0
  674. package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +14 -0
  675. package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +103 -0
  676. package/skills/video-assemble-zenstory-ai/references/packaging.md +44 -0
  677. package/skills/video-assemble-zenstory-ai/references/source-score.md +146 -0
  678. package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +202 -0
  679. package/skills/video-editing/SKILL.md +688 -0
  680. package/skills/video-explainer/SKILL.md +163 -0
  681. package/skills/video-explainer/references/brief-to-script.md +56 -0
  682. package/skills/video-explainer/references/errors-and-privacy.md +18 -0
  683. package/skills/video-explainer/references/motion-storyboard.md +82 -0
  684. package/skills/video-explainer/references/render-and-verify.md +62 -0
  685. package/skills/video-explainer/references/review-gate.md +82 -0
  686. package/skills/video-explainer/references/setup-and-doctor.md +33 -0
  687. package/skills/video-script-builder/SKILL.md +329 -0
  688. package/skills/video-script-builder/examples/quick-start-transcript.md +19 -0
  689. package/skills/video-script-builder/references/audio-workflow.md +84 -0
  690. package/skills/video-script-builder/references/caption-components.md +70 -0
  691. package/skills/video-script-builder/references/common-pitfalls.md +80 -0
  692. package/skills/video-script-builder/references/component-catalog.md +197 -0
  693. package/skills/video-script-builder/references/component-recipes.md +165 -0
  694. package/skills/video-script-builder/references/gsap-patterns.md +112 -0
  695. package/skills/video-script-builder/references/pacing-rules.md +78 -0
  696. package/skills/video-script-builder/references/quality-checklist.md +98 -0
  697. package/skills/video-script-builder/references/remotion-patterns.md +211 -0
  698. package/skills/video-script-builder/references/shader-transitions.md +115 -0
  699. package/skills/video-script-builder/references/taste-principles.md +160 -0
  700. package/skills/video-scrub/SKILL.md +216 -0
  701. package/skills/video-scrub/references/profiles.md +89 -0
  702. package/skills/video-scrub/references/residue-map.md +204 -0
  703. package/skills/video-short-maker/SKILL.md +182 -0
  704. package/skills/video-shot-analysis-feishu/SKILL.md +173 -0
  705. package/skills/video-shotcraft/SKILL.md +267 -0
  706. package/skills/video-shotcraft/docs/deepseek-harness.md +69 -0
  707. package/skills/video-shotcraft/references/aesthetic-rules.md +177 -0
  708. package/skills/video-shotcraft/references/final-review.md +112 -0
  709. package/skills/video-shotcraft/references/guided-free-creation.md +199 -0
  710. package/skills/video-shotcraft/references/jianying-export.md +182 -0
  711. package/skills/video-shotcraft/references/music-beat-sync.md +219 -0
  712. package/skills/video-shotcraft/references/pipeline.md +390 -0
  713. package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +50 -0
  714. package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +65 -0
  715. package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +37 -0
  716. package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +39 -0
  717. package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +38 -0
  718. package/skills/video-shotcraft-vincentwei10/SKILL.md +316 -0
  719. package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +187 -0
  720. package/skills/video-shotcraft-vincentwei10/references/final-review.md +116 -0
  721. package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +199 -0
  722. package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +183 -0
  723. package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +257 -0
  724. package/skills/video-shotcraft-vincentwei10/references/pipeline.md +401 -0
  725. package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +111 -0
  726. package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +50 -0
  727. package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +62 -0
  728. package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +41 -0
  729. package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +52 -0
  730. package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +39 -0
  731. package/skills/video-structure-analyzer/SKILL.md +148 -0
  732. package/skills/video-structure-analyzer/examples/xhs-rook-time-spend/xhs-rook-time-spend_/346/213/211/347/211/207/346/213/206/350/247/243.md +50 -0
  733. package/skills/video-structure-analyzer/examples/xhs-smelly-cat/xhs-smelly-cat_/346/213/211/347/211/207/346/213/206/350/247/243.md +19 -0
  734. package/skills/video-toolkit/SKILL.md +686 -0
  735. package/skills/videocut/SKILL.md +159 -0
  736. package/skills/videodb/SKILL.md +497 -0
  737. package/skills/videodb/reference/api-reference.md +741 -0
  738. package/skills/videodb/reference/capture-reference.md +399 -0
  739. package/skills/videodb/reference/capture.md +110 -0
  740. package/skills/videodb/reference/editor-reference.md +506 -0
  741. package/skills/videodb/reference/editor.md +389 -0
  742. package/skills/videodb/reference/generative.md +344 -0
  743. package/skills/videodb/reference/indexing-reference.md +481 -0
  744. package/skills/videodb/reference/indexing.md +537 -0
  745. package/skills/videodb/reference/legacy/index-reference.md +223 -0
  746. package/skills/videodb/reference/legacy/index.md +241 -0
  747. package/skills/videodb/reference/legacy/search.md +249 -0
  748. package/skills/videodb/reference/migration.md +113 -0
  749. package/skills/vlog-auto-edit/SKILL.md +982 -0
  750. package/skills/vlog-auto-edit/examples/project_structure.md +84 -0
  751. package/skills/vox-animated-ad-mcp/SKILL.md +419 -0
  752. package/skills/vox-director/SKILL.md +351 -0
  753. package/skills/vox-director/references/beat-layer.md +143 -0
  754. package/skills/vox-director/references/host-mode.md +120 -0
  755. package/skills/vox-director/references/local-engine.md +73 -0
  756. package/skills/vox-director/references/models-and-gotchas.md +91 -0
  757. package/skills/vox-director/references/prompt-guide.md +275 -0
  758. package/skills/vox-director/references/voices.md +59 -0
  759. package/skills/xingchen-vox-collage/SKILL.md +251 -0
  760. package/skills/xingchen-vox-collage/references/asset-layer-contract.md +98 -0
  761. package/skills/xingchen-vox-collage/references/creative-exploration.md +19 -0
  762. package/skills/xingchen-vox-collage/references/learned-branches.md +34 -0
  763. package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +77 -0
  764. package/skills/xingchen-vox-collage/references/visual-language.md +74 -0
  765. package/skills/xingchen-vox-collage/references/visual-qa.md +59 -0
  766. package/skills/youtube/SKILL.md +147 -0
  767. package/skills/youtube/references/algorithm-guide.md +59 -0
  768. package/skills/youtube/references/analytics-benchmarks.md +67 -0
  769. package/skills/youtube/references/dataforseo-integration.md +51 -0
  770. package/skills/youtube/references/monetization-guide.md +62 -0
  771. package/skills/youtube/references/repurposing-guide.md +54 -0
  772. package/skills/youtube/references/retention-scripting-guide.md +75 -0
  773. package/skills/youtube/references/seo-playbook.md +77 -0
  774. package/skills/youtube/references/shorts-playbook.md +64 -0
  775. package/skills/youtube/references/thumbnail-ctr-guide.md +73 -0
  776. package/skills/youtube-shorts-factory/SKILL.md +358 -0
  777. package/skills/youtube-shorts-factory/resources/adaptation-guide.md +133 -0
  778. package/skills/youtube-shorts-factory/resources/storyboard-template.md +271 -0
  779. package/skills/youtube-shorts-factory/resources/workflow-steps.md +139 -0
  780. package/studio/client.mjs +3 -3
  781. package/studio/server/server.mjs +31 -3
  782. package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +1 -0
  783. package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +2 -0
  784. package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
  785. package/studio/ui/dist/assets/{es-BRUzvuoM.js → es-AqUfIkAy.js} +1 -1
  786. package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
  787. package/studio/ui/dist/assets/index-C7moXjTY.css +1 -0
  788. package/studio/ui/dist/assets/index-DdU5QNpY.js +1623 -0
  789. package/studio/ui/dist/assets/{ja-Cth-uDcW.js → ja-YwiCB4QQ.js} +1 -1
  790. package/studio/ui/dist/assets/{ko-upvw591D.js → ko-CKtBPDze.js} +1 -1
  791. package/studio/ui/dist/assets/{zh-CN-BCfJFazB.js → zh-CN-DtNEwKWJ.js} +1 -1
  792. package/studio/ui/dist/index.html +4 -3
  793. package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
  794. package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
  795. package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
  796. package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
@@ -0,0 +1,579 @@
1
+ # Explainer — cerita bergambar, bukan promo
2
+
3
+ Untuk kartun edukasi flat berkarakter (gaya 6, **kartun panggung**: satu panggung
4
+ per adegan, rig sendi, nol caption), baca [kartun-panggung.md](kartun-panggung.md).
5
+ Jumlah kalimat tidak menentukan jumlah shot; lebih banyak gerak kamera juga
6
+ bukan otomatis lebih menarik. Bagian resep kolase di bawah adalah opsi, bukan
7
+ pola wajib bagi semua explainer.
8
+
9
+ Dua gaya explainer yang paling sering dipakai:
10
+
11
+ | | Kartun + VO | Jurnalisme visual (foto) |
12
+ |---|---|---|
13
+ | Cocok untuk | sains/edukasi, ±75 dtk, 9:16 | berita/geopolitik, ±75 dtk, 9:16 |
14
+ | Latar | kertas krem bertekstur + noda warna | hitam pekat + grain tipis |
15
+ | Gambar | ilustrasi flat digenerate (GPT Image 2) lalu latar dihapus → cutout | foto asli berlisensi bebas (Wikimedia Commons, NASA, DVIDS) |
16
+ | Teks | Bricolage Grotesque tebal + Caveat (tulisan tangan) | Barlow Condensed tebal + IBM Plex Mono (kicker) |
17
+ | Aksen | pill warna (oranye/teal/merah/mustard), coretan spidol | highlighter kuning, merah untuk peringatan, garis putus |
18
+ | Suara | VO diikat ke timeline | tanpa VO — teks membawa cerita, beat 3–5 dtk untuk dibaca |
19
+
20
+ Opener menjual satu perasaan; explainer **mengantar satu argumen**. Hukum
21
+ anti-PPT tetap berlaku, tapi dengan dua kelonggaran: satu adegan boleh punya
22
+ kalimat + satu angka/anotasi, dan mockup/peta/grafik boleh "padat" karena
23
+ dibaca sebagai gambar.
24
+
25
+ ## Langkah nol: pastikan gayanya, rasio, durasi, suara
26
+
27
+ User sering hanya bilang "buatkan explainer tentang X". Kalau dibiarkan,
28
+ model mengarang gaya, rasio, DAN durasi — bisa jadi 10 menit. Sebelum
29
+ menulis apa pun, ajukan SATU pertanyaan (pakai mekanisme tanya-jawab agenmu
30
+ bila ada; kalau tidak, tulis daftarnya dan tunggu jawaban) berisi empat hal.
31
+ Lewati bagian yang sudah disebut user; bila ada video referensi, gaya
32
+ diambil dari sana (ritmenya — lihat SKILL.md Hukum #3).
33
+
34
+ **Gaya** (sertakan satu baris rekomendasi: sejarah → 4 atau 1; berita → 2;
35
+ produk → 3; gerak/rute → 5; sains/edukasi berkarakter → 6; topik ringan → 1):
36
+
37
+ | # | Gaya | Rasanya | Cocok untuk | Aset |
38
+ |---|---|---|---|---|
39
+ | 1 | Kartun kolase | kertas krem, cutout ilustrasi flat, pill warna, tulisan tangan | edukasi sains/anak, topik ringan | ilustrasi digenerate → latar dihapus |
40
+ | 2 | Jurnalisme visual | hitam, foto asli, highlighter kuning, tag sumber | berita, isu viral, geopolitik | foto berlisensi bebas (Wikimedia/NASA) |
41
+ | 3 | Katalog putih | putih bergrid, cutout foto, tipografi campur, coretan | produk, brand, profil perusahaan | foto produk/orang, latar dihapus |
42
+ | 4 | Sketsa vintage | kertas sepia, ukiran/etsa, serif klasik, anotasi karat | sejarah, biografi, penemuan | ilustrasi gaya ukiran digenerate |
43
+ | 5 | Aksi kontinu (vektor) | dunia mengalir, satu subjek, angka di dalam dunia, ganti sudut | kecepatan, rute, transportasi, olahraga, proses | 100 % SVG digambar, tanpa generate |
44
+ | 6 | Kartun panggung | flat cerah, satu panggung per adegan, tokoh bersendi beraksi, mesin/air/tanaman hidup, tanpa caption | edukasi sains/sosial berkarakter, proses & dampak, cerita | tubuh & dunia vektor; kepala digenerate → ekspresi lokal |
45
+
46
+ **Tiga hal lain dalam pertanyaan yang sama:**
47
+
48
+ | Hal | Pilihan | Default bila "terserah" |
49
+ |---|---|---|
50
+ | Rasio | 16:9 (YouTube/layar) · 9:16 (Reels/TikTok/Shorts) · 1:1 | 16:9 |
51
+ | Durasi | 30 dtk · 60 dtk · 90 dtk | 60 dtk |
52
+ | Suara | tanpa suara · VO dikirim user nanti (bangun dulu, retime kemudian) · musik saja | tanpa suara, naskah VO tetap ditulis |
53
+
54
+ Yang TIDAK ditanya: caption (default tanpa) dan player (default tanpa,
55
+ autoplay + loop).
56
+
57
+ **Pagar durasi:** ikuti durasi brief dan VO; default tetap ringkas. Jumlah
58
+ adegan ditentukan oleh konteks yang berubah. Beberapa kalimat dapat memakai
59
+ satu dunia dengan aktivitas yang berkembang. Materi berlebih dipotong,
60
+ bukan videonya dipanjangkan. Permintaan "10 menit" → konfirmasi, lalu pecah
61
+ per bab ≤ 90 dtk dengan berkas terpisah.
62
+
63
+ ## Penyerahan: naskah VO ikut di pesan, user yang mengisi suaranya
64
+
65
+ Explainer hampir selalu berakhir dengan VO dari user (direkam sendiri atau
66
+ di-generate di layanan TTS pilihannya). Jadi urutan bakunya: bangun tanpa
67
+ suara dengan timing baca → serahkan `index.html` + naskah VO DI DALAM pesan
68
+ penutup → minta user merekam/generate dan mengirim ulang audionya → retime
69
+ video ke audio itu. Contoh penutup:
70
+
71
+ > Naskah VO (satu paragraf = satu adegan, angka ditulis dengan kata):
72
+ > 1. …
73
+ > 2. …
74
+ > Rekam atau generate dengan suara pilihanmu — bicara wajar, jeda ±1 detik
75
+ > antar paragraf, format wav/mp3 bebas — lalu kirim ke sini; videonya akan
76
+ > saya sinkronkan ke suara itu.
77
+
78
+ Naskah yang sama disimpan sebagai `vo-script.md`. Jangan hanya menulis
79
+ "naskah ada di berkas": user membaca pesan, bukan folder.
80
+
81
+ ## Mulai dari starter yang benar
82
+
83
+ Explainer SELALU dimulai dari starter gayanya (folder `assets/`):
84
+ `starter-explainer-kartun.html`, `starter-explainer-jurnalisme.html`,
85
+ `starter-explainer-katalog.html`, `starter-explainer-sketsa.html`, atau
86
+ `starter-explainer.html` untuk aksi kontinu. Kelimanya satu rig; yang beda
87
+ hanya PERMUKAAN (tekstur latar, jenis aset, font, warna). Dua mode gerak:
88
+
89
+ | Mode | Dunia | Gerak utama | Gaya yang memakainya |
90
+ |---|---|---|---|
91
+ | ALIRAN | strip parallax mengalir dari profil kecepatan, subjek diam di frame, objek dunia melintas | dunia bergerak | aksi kontinu (vektor) |
92
+ | KOLASE | kertas/foto/putih diam berisi cutout & foto, boleh lebih besar dari frame | kamera: `into` → `settle` → `look` → `home` lalu DIAM; aset `fly` dan tetap bergoyang | kartun kolase, jurnalisme foto, katalog putih, sketsa vintage |
93
+
94
+ Keduanya boleh dicampur dalam satu video (mis. kolase untuk sejarah, lalu
95
+ whip ke peta simulasi). Starter kolase sudah berisi contoh koreografi wajib:
96
+ mulai close-up aset A → `look` ke aset B → `home` (zoom out selesai) → baru
97
+ `say` kalimat + `draw` anotasi + label → `unsay` → `into`/`settle`
98
+ push-through ke adegan 2 yang letaknya di luar frame (bukan section
99
+ di-fade).
100
+
101
+ Jebakan scrub: `tl.pause(t)` GSAP menekan callback (`suppressEvents`), jadi
102
+ `onUpdate: applyCam` tidak jalan saat snapshot/scrub walau saat diputar
103
+ normal jalan. `seek` harus `tl.pause(t,false)` lalu `applyCam()`. Yang tidak boleh: menulis dari nol atau dari starter
104
+ opener — hampir pasti berujung "section yang di-fade".
105
+
106
+ ## Default yang sering salah dikira
107
+
108
+ - **Rasio: default 16:9 (1920×1080) atau mengikuti layar user.** 9:16 HANYA
109
+ bila user memintanya (Reels/TikTok/Shorts). Jangan berasumsi explainer =
110
+ vertikal.
111
+ - **Tanpa player.** Autoplay + loop; panel scrub hanya `?debug=1`.
112
+ - **Tanpa subtitle/caption.** Default tidak ada teks pendamping VO di bawah
113
+ layar; caption hanya bila user minta. Informasi dibawa oleh angka besar,
114
+ label yang hidup di dalam dunia (papan nama, tanda stasiun), dan gambar.
115
+ - **Pelajari prinsip referensi, jangan salin perangkat tata letaknya.** Panel
116
+ tiga kolom, subtitle bawah, bentuk odometer — kalau referensi memakainya,
117
+ itu contoh, bukan resep. Ambil prinsipnya (angka di dunia, subjek terus
118
+ bergerak) lalu wujudkan dengan cara sendiri.
119
+ - **Panggung diskalakan ke jendela dengan `position:absolute; left:50%;
120
+ top:50%; transform:translate(-50%,-50%) scale(s)`**, bukan grid
121
+ `place-items:center` — sel grid ikut setinggi panggung mentah, sehingga
122
+ panggung terdorong ke bawah dan terpotong.
123
+
124
+ ## Struktur yang dipelajari dari referensi (bukan ditiru)
125
+
126
+ Explainer kolase dan explainer jurnalisme visual yang baik punya tulang
127
+ yang sama, dan tulang inilah yang boleh dipakai ulang:
128
+
129
+ 1. **Hook** = satu gambar + satu klaim yang bikin penasaran (viral, angka
130
+ aneh, pertanyaan).
131
+ 2. **Pertanyaan eksplisit** di layar ("Kenapa bisa?", "Kenapa tahun ini?").
132
+ 3. **Konteks visual**: peta / foto lokasi / ilustrasi dunia, dengan label
133
+ dan satu lingkaran merah di titik penting.
134
+ 4. **Angka besar** yang menghitung naik, lalu dibandingkan (bar sebelum/sesudah).
135
+ 5. **Linimasa** 2–3 tanggal, satu kalimat per tanggal.
136
+ 6. **Grafik** yang menggambar diri (garis harga, area di bawahnya).
137
+ 7. **Dampak ke penonton** ("terasa di dompet sehari-hari").
138
+ 8. **Penutup yang menggema ke hook** + daftar sumber kecil.
139
+
140
+ Jangan ambil: palet, font, layout persis, maskot, kalimat. Ganti semuanya.
141
+
142
+ ## Satu adegan = 3–5 elemen yang menumpuk (bukan satu gambar)
143
+
144
+ Kegagalan yang umum: tiap adegan hanya SATU cutout + satu kalimat. Walau kamera
145
+ sudah bergerak, penonton tidak tahu "seperti apa" hal yang diceritakan — satu
146
+ simbol tidak cukup menjelaskan. Explainer jurnalistik yang baik (±20 beat per
147
+ 30 dtk) memakai pola berikut:
148
+
149
+ 1. **Akresi per frasa.** Tiap frasa VO MENAMBAH satu elemen; elemen lama
150
+ tetap di tempat. Adegan selesai dengan 3–5 elemen (maksimal 5) yang
151
+ bersama-sama menjelaskan: subjek (foto/cutout) + bukti (dokumen, kliping,
152
+ layar) + skala (angka atau grid pengulangan) + label/stempel tanggal +
153
+ coretan. Contoh "pesan musuh tak terbaca" = kapal → kapal selam melintas →
154
+ radio penyadap → lembar telegram berisi sandi yang terus berganti + stempel
155
+ RAHASIA → kalimat.
156
+ 2. **Bukti, bukan hiasan.** Pilih elemen yang menjawab "seperti apa
157
+ bentuknya?": dokumen ketik dengan stempel (nama perkara · BERSALAH),
158
+ kliping koran dengan frasa disorot, kartu sumber (badge media + judul),
159
+ layar/mockup, blok tanggal. Dokumen dibangun di HTML (kertas putih +
160
+ border tipis + mono + stempel miring merah) — tidak perlu digenerate.
161
+ 3. **Pengulangan untuk skala.** Satu gambar diperbanyak jadi grid (foto anak sekolah
162
+ jadi puluhan; satu rotor mesin jadi 12 rotor)
163
+ dengan stagger `back.out` — lebih terasa daripada angka saja. Angka
164
+ tetap ada, tapi bukan satu-satunya.
165
+ 4. **Foto → dokumen.** Foto zoom out lalu ternyata ada di sampul majalah /
166
+ koran; blok tahun muncul di sebelahnya. Satu aset, dua makna.
167
+ 5. **Elemen yang bergerak sendiri** (deterministik dari `tl.time()`):
168
+ huruf sandi berganti lalu terurai jadi teks terbaca, jarum jam berlari ke
169
+ tengah malam, angka menghitung naik, palu hakim mengetuk.
170
+ 6. **Kamera tetap satu per adegan**: elemen menumpuk di area yang sama;
171
+ kamera `look` sedikit (±200 px, z 1–1,15) untuk menyambut elemen baru.
172
+ Elemen baru = look kecil, bukan cut.
173
+ 7. **Batas teks tidak berubah**: satu kalimat besar + satu label per adegan.
174
+ Dokumen/stempel/blok tanggal/catatan tangan dihitung OBJEK (dibaca sebagai
175
+ gambar) bukan tingkat teks — syaratnya isi ≤ 3 baris pendek.
176
+ 8. **Aset tambahan cepat**: properti fotoreal "studio product photo,
177
+ isolated on pure white" (Higgsfield `gpt_image_2_5`, tanpa wajah orang
178
+ nyata) ditumpuk `mix-blend-mode:multiply` — latar putihnya lenyap di atas
179
+ grid tanpa hapus latar. Jangan beri `drop-shadow` pada elemen multiply
180
+ (bayangannya jadi persegi); bayangan sudah ada di fotonya. Foto arsip
181
+ berlatar rumit tetap lewat `image_background_remover` (butuh `prompt`),
182
+ lalu pangkas margin transparan (bbox alpha) supaya ukuran CSS = isi.
183
+ 9. Kalau `remove_background` menghapus subjeknya (kapal hilang, tersisa
184
+ haluan kapal lain), jangan dipaksa — generate properti pengganti.
185
+
186
+ Helper di `assets/starter-explainer-katalog.html`: `slam` (stempel
187
+ dihentak), `block` (blok tanggal disingkap dari kiri), `multiply` (grid
188
+ beruntun); CSS `.doc`, `.stampblk`, `.pnote`, `.grid`, `.cut.card`.
189
+
190
+ ## Resep teknis
191
+
192
+ **Panggung 9:16**: `#stage` 1080×1920, `fit()` sama seperti 16:9. Judul
193
+ 88–168 px, kicker mono 26 px, kredit foto 20 px kiri-bawah.
194
+
195
+ **Kalimat per kata** (`say/unsay`): tiap kata `<span class="wd">` (nowrap)
196
+ masuk `yPercent 60→0, scaleY 1.3→1`, stagger 0.07–0.12, blur vertikal;
197
+ kata kunci `<span class="wd hl"><i></i>kata</span>` — `<i>` adalah
198
+ highlighter yang `scaleX 0→1` dari kiri SETELAH kata-katanya selesai
199
+ (`hlAt`). Frasa yang harus bisa patah baris JANGAN dijadikan satu `.wd`
200
+ (itu penyebab teks meluber ke luar frame di 9:16).
201
+
202
+ **Foto** (`photo(sel, at, end, {from,to,x,y})`): `object-fit:cover`, masuk
203
+ dengan blur berarah, lalu Ken Burns `scale 1→1.12–1.25` + geser sedikit
204
+ sepanjang adegan (`ease:'none'`). Gradasi gelap di atas/bawah (`.dim`,
205
+ `.top`) supaya teks kontras. Grain ringan `mix-blend-mode:overlay`.
206
+
207
+ **Cutout ilustrasi** (`enter/leave`): masuk dari bawah dengan overshoot
208
+ `back.out(1.4)`, drop-shadow di elemen pembungkus. Filter warna (grayscale)
209
+ taruh di `<img>`, bukan di pembungkus — `blurTween` menulis `filter` pada
210
+ pembungkus dan menghapus filter lain.
211
+
212
+ **Anotasi SVG** (`draw`): `strokeDasharray = L`, `strokeDashoffset L→0`.
213
+ Set `opacity:0` sampai detik mulainya — linecap bulat pada panjang 0 tampak
214
+ sebagai titik nyasar. Garis putus-putus tidak bisa pakai dashoffset (akan
215
+ "berjalan"); pakai `clip-path: inset()` yang dibuka dari kiri (`drawDash`).
216
+
217
+ **Peta**: citra satelit domain publik (NASA MODIS/Worldview) sebagai dasar +
218
+ label `.tag` mono dengan garis kiri kuning + lingkaran merah + garis putus
219
+ jalur. Lebih jujur dan lebih cepat daripada menggambar peta sendiri.
220
+
221
+ **Grafik garis**: hitung titik dari data di JS, `path` digambar dengan
222
+ dashoffset, area gradasi fade-in setelahnya, titik data pop stagger, label
223
+ hanya untuk 2–3 titik penting (awal, puncak, terakhir).
224
+
225
+ **Angka besar**: tween objek `{v}` → `textContent = Math.round(v)`;
226
+ `font-variant-numeric: tabular-nums`.
227
+
228
+ **Tint per adegan**: lapisan `.tint` full-frame (malam/dingin/gelap) di
229
+ dalam `#world`, di-tween opacity — murah dan langsung mengubah mood.
230
+
231
+ **Potongan antar adegan** (`cut`): dorong dunia 1.05× lalu adegan baru
232
+ lahir 1.08–1.12× dan mengendap ke 1 dalam 0.8 dtk; elemen lama keluar ke
233
+ atas dengan blur SAMBIL yang baru masuk. Kamera tetap bernapas di antara.
234
+
235
+ **Retime ke VO yang datang belakangan** (video dirancang dulu tanpa suara).
236
+ Tanpa ffmpeg: buka `scripts/vo-pauses.html`, pilih audionya, salin `SEG`
237
+ (mulai tiap potongan ucapan), `PARA` (mulai tiap paragraf = adegan) dan
238
+ `DUR`; angkanya identik dengan `silencedetect` (ambang -30 dB relatif
239
+ puncak, jeda >= 0,45 dtk, paragraf >= 0,8 dtk; ubah bila VO berisik).
240
+ Langkahnya:
241
+ jangan tulis ulang build(). Bungkus `tl.to/fromTo/set` dengan pemetaan
242
+ posisi linear per adegan `T(t)` dari batas adegan lama (OLD) ke awal
243
+ paragraf VO (NEW, dari silencedetect jeda ≥0,9 dtk; VO bernoise perlu
244
+ ambang −25 dB). Durasi tween tetap; hanya posisinya yang meregang. Transisi
245
+ push-through dihitung langsung di waktu baru (`T(cut)-.9`) supaya tetap
246
+ presisi. Satu berkas VO lebih mudah daripada delapan klip.
247
+
248
+ **VO diikat timeline** (kalau ada): `<audio>` per klip + `syncAudio()` di
249
+ loop rAF: bila timeline play dan `t` di dalam rentang klip → `currentTime =
250
+ t - start`, play; bila tidak → pause. Perlu tombol "Mulai" pertama karena
251
+ autoplay. Durasi adegan ikut durasi klip (ukur dulu dengan ffprobe).
252
+
253
+ ## Sumber gambar
254
+
255
+ - **Digenerate** (kartun): Higgsfield `gpt_image_2` (1k, medium), prompt
256
+ satu gaya untuk semua aset ("flat vector, outline coklat tebal, warna
257
+ hangat, latar putih polos"), lalu `remove_background` → PNG transparan.
258
+ Generate dalam satu batch supaya gayanya seragam.
259
+ - **Foto asli** (jurnalistik): Wikimedia Commons API
260
+ `action=query&generator=search&gsrnamespace=6&prop=imageinfo&iiprop=url|extmetadata&iiurlwidth=1920`
261
+ → cek `LicenseShortName` (Public domain / CC BY / CC BY-SA), unduh thumb
262
+ 1920 px, tulis kredit di layar. NASA (MODIS/Worldview) dan DVIDS/DoD
263
+ domain publik. Jangan pakai screenshot berita/TV.
264
+ - Kalau foto lokasi persis tidak ada, pakai foto sejenis dan beri label
265
+ "ilustrasi" — jangan berpura-pura.
266
+ - **Video pelengkap**: klip 3–8 dtk sebagai layer footage (`techniques.md` §9b) — dari user,
267
+ stok berlisensi, atau generate lewat MCP bila disetujui (label "ilustrasi/rekonstruksi" pada
268
+ topik faktual). Klip tetap dibungkus desain adegan: kartu, bingkai, anotasi, angka.
269
+
270
+ ## Entitas yang disebut WAJIB tampil (aturan krusial)
271
+
272
+ Kegagalan yang umum: nama perusahaan disebut tanpa foto perusahaannya, nama
273
+ penemu disebut tanpa wajahnya, "17 pabrik" tanpa pabriknya, produk disebut
274
+ tanpa kemasannya — penonton tidak bisa mengaitkan kata dengan gambar. Prosedur:
275
+
276
+ 1. Dari naskah, tulis **daftar entitas**: orang, perusahaan, gedung/kota,
277
+ produk/varian, peristiwa. Tiap entitas = satu gambar di adegannya.
278
+ 2. Urutan sumber: foto bebas lisensi (Commons/NASA) → foto resmi dari situs
279
+ produk/artikel (`og:image` halaman, kredit dicantumkan) → foto kiriman
280
+ user → generate fotoreal berlabel "ilustrasi" hanya untuk tempat/objek
281
+ generik (pabrik, lini produksi), **tidak pernah** untuk wajah orang nyata.
282
+ 3. Foto orang dari komposit/meme (mis. tangkapan layar viral) boleh dipotong
283
+ dan dihapus latarnya jadi cutout — hasilnya justru cocok dengan gaya
284
+ kolase. Cantumkan sumbernya.
285
+ 4. Kalau semua gagal, tanya user sebelum memakai siluet/placeholder.
286
+
287
+ ## Keterbacaan di ponsel (aturan keras)
288
+
289
+ Keterangan ilustrasi 22 px dan sub-label nama 26 px hampir tidak bisa dibaca,
290
+ apalagi di ponsel. Video 9:16 ditonton di layar ±6 inci,
291
+ dan safe-area scale 0,78 memperkecil semuanya lagi. Ukuran MINIMUM pada
292
+ panggung 1080 px (sebelum safe-scale):
293
+
294
+ | jenis teks | minimum |
295
+ |---|---|
296
+ | body copy / keterangan | 44 px |
297
+ | label nama, kicker, tahun | 34 px (sub-label 32 px) |
298
+ | kredit / sumber | 30 px, kontras cukup (opacity ≥ .6) |
299
+ | anotasi tulisan tangan | 48 px |
300
+ | judul | 100 px ke atas |
301
+
302
+ Kalau memakai safe-scale, kalikan 1/0,78 dulu. Tidak ada teks di bawah
303
+ 30 px, titik. Kalau ada informasi yang "tidak muat", pecah ke adegan lain
304
+ atau buang — bukan dikecilkan.
305
+
306
+ ## Variasi, bukan pola tetap
307
+
308
+ Dua kebiasaan yang membuat video terasa "itu-itu saja":
309
+
310
+ - **Teks hantu / angka tahun besar**: pilih SATU gaya untuk satu video
311
+ (outline di satu adegan dan isi di adegan lain terasa tidak
312
+ konsisten) — dan pastikan terlihat: isi transparan ≥ .18–.25, jangan
313
+ .08–.12 karena menyatu dengan latar. Gaya lain (outline, blur, terpotong
314
+ tepi) dipakai di video lain, bukan dicampur dalam satu video.
315
+ - **Lingkaran / anotasi** tidak harus putus-putus. Bergantian: garis utuh
316
+ tipis, garis warna aksen, garis ganda, kotak sudut, garis bawah tangan,
317
+ atau tanpa lingkaran sama sekali.
318
+
319
+ ## Aset harus terasa hidup
320
+
321
+ Ayunan cutout ±10 px selama 2 dtk terlihat statis. Minimum:
322
+ ayunan ±22–28 px dengan durasi 1,3–1,8 dtk (`sine.inOut`, yoyo), ditambah
323
+ putaran kecil ±1,5° dan pertumbuhan skala 1→1,06 pelan sepanjang adegan,
324
+ serta geser x beberapa belas px. Beri fase/durasi berbeda per objek supaya
325
+ tidak serempak. Untuk objek besar (kapal, kota) tambahkan gerak arah
326
+ (berlayar, dorong kamera) dengan `ease:'none'`.
327
+
328
+ ## Resep kamera kolase: close-up → meluncur → zoom out
329
+
330
+ Prinsip umum ukuran shot untuk semua jenis video ada di `techniques.md` §3b.
331
+ Ini satu resep untuk kolase berteks. Untuk animasi karakter/proses, kamera dapat
332
+ menetap, mengikuti subjek, atau menyusuri sistem setelah reveal awal. Jangan
333
+ memaksakan resep ini pada setiap segmen; gunakan kebutuhan narasi sebagai alasan.
334
+
335
+ Resep ini menjawab tiga kegagalan umum: (a) animasi yang hanya
336
+ "elemen masuk, elemen keluar" terasa PPT; (b) setelah kamera zoom out lalu
337
+ mendorong lagi ke catatan, "info lain terpotong"; dan potongan langsung dari
338
+ lebar ke close-up "terkesan tiba-tiba karena latar tiba-tiba zoom in".
339
+
340
+ - Rig `#world` = kamera: state `C={x,y,z}` (titik fokus dalam koordinat
341
+ adegan + zoom), diterapkan tiap frame: `transformOrigin:'0 0'; scale:z;
342
+ x:540-sx*z; y:960-sy*z` dengan (sx,sy) titik fokus setelah safe-scale.
343
+ Helper `look(at,x,y,z,dur,ease)`; `HOME` = posisi identitas (pusat frame,
344
+ z 1) — hitung dari safe-scale, bukan asal (540,960).
345
+ - **Pola per adegan**: lahir di close-up aset pertama (z ≈ 1,4, mengendap
346
+ ke 1,32) → meluncur ke aset kedua sambil ia masuk → zoom out ke HOME saat
347
+ judul muncul → **diam** di HOME sampai transisi. Tidak ada dorongan lagi
348
+ setelah zoom out; catatan/rute cukup dianimasikan elemennya.
349
+ - **Transisi = push-through** (bukan jump): 0,9 dtk sebelum cut, elemen lama
350
+ sudah pergi dan kamera mendorong (`power2.in`) ke titik aset pertama adegan
351
+ berikutnya; tepat di cut adegan baru lahir di framing itu dan kamera
352
+ mengendap (`power3.out`). Latar yang kontinu membuat potongan tak terasa.
353
+ Aset pertama harus sudah masuk ≤ 0,1 dtk setelah cut supaya close-up tidak
354
+ kosong.
355
+ - **Urutan wajib: zoom out SELESAI dulu, baru teks muncul.** Alasannya:
356
+ teks yang lahir bersamaan (atau lebih dulu) dengan zoom out "terasa
357
+ terpotong". Judul, body, label tahun, catatan tangan — semuanya
358
+ dijadwalkan ≥ 0,1 dtk setelah `home()` selesai. Zoom out dibuat singkat
359
+ (1,0–1,2 dtk) supaya masih ada waktu baca; kalau tidak muat, buang satu
360
+ kalimat (kalimat pembuka yang sudah dibawa VO adalah kandidat pertama).
361
+ - Panorama (kota, kapal): pan menyusur 2,5–3 dtk pada z 1,3–1,5, baru ke
362
+ HOME. Objek yang masuk dari samping "disambut" kamera yang ikut bergerak.
363
+ - Wajib: latar/kertas jauh lebih luas dari frame (`inset:-1400px`) dan
364
+ vignette DI LUAR rig; jangan tumpuk tween scale lain pada rig (kamera
365
+ bernapas digantikan koreografi ini).
366
+
367
+ ## Format sosial (IG Reels / TikTok / Shorts)
368
+
369
+ - **Safe area**: bungkus semua adegan dalam `.safe{transform:scale(.78);
370
+ transform-origin:50% 45%}` → margin atas ±190 px, bawah ±230 px pada
371
+ 1080×1920 supaya tidak tertutup caption/navigasi. Grid/latar tetap penuh.
372
+ - **Tanpa kontrol**: tidak ada overlay Play maupun slider. R = replay,
373
+ spasi = pause. `?clean=1` tetap ada untuk render.
374
+ - **Suara harus terdengar sejak awal.** Browser memblokir audio autoplay tanpa
375
+ gestur (juga di `file://`), dan user menganggap "suara tidak muncul"
376
+ sebagai bug. Dua lapis:
377
+ 1. Di halaman: coba `vo.play()`; bila berhasil → play dari 0 bersuara.
378
+ 2. Bila ditolak: **JANGAN mulai tanpa suara** — tahan di frame awal dengan
379
+ petunjuk kecil "ketuk / tekan tombol apa pun", lalu gestur pertama
380
+ memulai video + suara bersamaan dari 0. (Memutar visual dulu lalu
381
+ restart saat diketuk terasa seperti suara hilang.)
382
+ Jangan membuat file peluncur (`.cmd`, `.bat`, skrip shell) untuk memaksa
383
+ autoplay — deliverable cukup `index.html` (+ `assets/`). Trik
384
+ play-muted-lalu-unmute juga tidak bekerja: unmute tanpa gestur tetap
385
+ diblokir.
386
+
387
+ ## Fakta
388
+
389
+ Explainer berita wajib sumber: cari dulu (EIA/lembaga resmi, media besar,
390
+ Wikipedia Current Events untuk tanggal), simpan daftar sumbernya di README
391
+ dan tampilkan ringkasannya di kartu penutup. Angka yang tidak terverifikasi
392
+ tidak ditampilkan — tulis klaim kualitatifnya saja.
393
+
394
+ ## Jebakan yang sudah terjadi
395
+
396
+ | Gejala | Sebab | Obat |
397
+ |---|---|---|
398
+ | Kalimat meluber ke luar frame 9:16 | satu frasa panjang dijadikan satu `.wd` nowrap | pecah per kata |
399
+ | Mockup ponsel menutupi baris ke-3 judul | posisi ponsel dihitung untuk judul 2 baris | ukur tinggi judul asli, ponsel mulai ≥ 60 px di bawahnya |
400
+ | Cutout tetap berwarna padahal diberi grayscale | `blurTween` menimpa `filter` pembungkus | filter warna di `<img>` |
401
+ | Titik merah nyasar sebelum coretan digambar | linecap bulat pada dash length 0 | `opacity:0` sampai `draw` mulai |
402
+ | Latar kanvas WebGL tidak diperlukan | explainer 2D | lewati Three.js; cukup rig `#world` + tint + grain |
403
+
404
+
405
+ ## Gaya ketiga: "katalog putih" (cutout foto di latar putih)
406
+
407
+ Ciri gaya: latar putih bergrid tipis, cutout produk, objek terbang melewati
408
+ lensa, lingkaran putus-putus, tipografi script + sans tebal miring.
409
+ Cocok untuk explainer produk atau merek (±60 dtk, 9:16, tanpa VO) dengan warna
410
+ dan foto asli — bukan hitam-putih, bukan kartun.
411
+
412
+ - Latar `#fff` + grid 120 px `rgba(0,0,0,.07)` yang dipudarkan ke tepi (mask
413
+ radial). Tanpa grain, tanpa vignette — bersih.
414
+ - **Cutout** = foto Commons yang latarnya dihapus (impor URL ke Higgsfield
415
+ `media_import_url` → `remove_background`; lebih andal daripada upload +
416
+ PUT). Bayangan dua lapis `drop-shadow` (jauh lembut + dekat tipis).
417
+ - **Properti pendukung** (sumpit, globe, blok mi) boleh digenerate fotoreal
418
+ "studio product photo, isolated on pure white" lalu dihapus latarnya.
419
+ - **Tipografi campur** per beat: script (Caveat) untuk penghubung ("lihat
420
+ bagaimana", "lalu…"), sans 900 untuk subjek, italic 900 untuk angka/klaim,
421
+ kicker mono-ish uppercase spasi lebar, body copy kecil abu-abu.
422
+ Masuk: script `scale .7→1 back.out`, bold dari kiri dengan blur horizontal,
423
+ body per baris.
424
+ - **Lingkaran putus-putus** di sekitar objek utama: `stroke-dasharray` tetap,
425
+ digambar dengan `clip-path: inset()` dari kiri (bukan dashoffset).
426
+ - **Objek lewat lensa** (`pass`): cutout besar terbang diagonal dengan blur
427
+ horizontal konstan, 1.2–1.3 dtk, lalu hilang — dipakai 1–2× per adegan.
428
+ - Peta dunia SVG opacity ~.16 + titik merah + garis putus rute.
429
+ - Jebakan: cutout tinggi (foto potret) mudah menabrak body copy — hitung
430
+ tinggi dari rasio foto; taruh body copy DI ATAS peta/objek bila perlu.
431
+ - **Elemen bukti** (explainer tokoh sejarah ±50 dtk, 9:16, VO): kartu foto
432
+ (`.cut.card`: foto arsip berbingkai putih 16 px, grayscale ringan),
433
+ dokumen ketik (`.doc`: judul Inter spasi lebar + Plex Mono + stempel
434
+ `.stamp` merah/hijau yang dihentak `slam`), blok tanggal (`.stampblk`
435
+ hitam/kuning disingkap `block`), catatan tangan (`.pnote` Caveat di
436
+ kertas krem), grid pengulangan (`.grid` + `multiply`), jam SVG dengan
437
+ jarum yang di-tween `rotation` + `svgOrigin`. Lihat bagian "Satu adegan =
438
+ 3–5 elemen".
439
+ - 9:16: W=1080, H=1920, bungkus `#world` dalam `.safe` (scale .78);
440
+ area adegan 1080×1920 disusun di dunia (jarak 1600 px mendatar, 2400–3000
441
+ px menurun agar sisa cutout adegan sebelumnya tidak ikut terlihat), kertas
442
+ grid dibuat 14000×12500 px supaya semua area tertutup.
443
+
444
+
445
+ ## Gaya keempat: "buku sketsa vintage" (ukiran sepia di kertas tua)
446
+
447
+ Dipakai untuk explainer sejarah (mesin uap, 64 dtk, 9:16, tanpa suara).
448
+
449
+ - Semua gambar digenerate satu batch dengan prefiks prompt yang sama:
450
+ "Vintage 19th-century copperplate engraving illustration, fine sepia ink
451
+ cross-hatching, etching style … isolated on a plain white background, no
452
+ text, no border". Potret tokoh sejarah: "engraved portrait … bust inside an
453
+ oval" — sebut era/profesi, bukan nama, lalu beri label nama di layar dan
454
+ kredit "ilustrasi gaya ukiran".
455
+ - Latar dihapus (remove background) lalu cutout dipasang dengan
456
+ `mix-blend-mode:multiply` di atas tekstur kertas (juga digenerate, 9:16)
457
+ supaya tinta "meresap" ke kertas; bayangan hanya untuk objek besar.
458
+ - Tipografi: serif display tebal (Playfair Display 900) + italic Garamond
459
+ untuk kalimat penghubung + small-caps berspasi (Cinzel) untuk label tahun/
460
+ nama; anotasi tulisan tangan warna karat; highlighter emas transparan.
461
+ - Tahun besar sebagai "ghost" outline di atas, label "Tempat · Tahun" di
462
+ bawahnya — ini linimasa tanpa garis linimasa.
463
+ - Rate limit generator (maks 4 job bersamaan): kirim remove-background
464
+ bertahap 3–4 sekaligus.
465
+
466
+
467
+ ## Gaya kelima: "aksi kontinu" — satu subjek yang tidak pernah berhenti
468
+
469
+ Obat untuk explainer yang "terasa slide PPT" walau kameranya sudah
470
+ berkoreografi. Contoh polanya: explainer olahraga kecepatan tinggi (ilustrasi
471
+ flat, 16:9): semua fakta disampaikan TANPA menghentikan aksinya. Bisa 100 %
472
+ vektor SVG yang digambar prosedural di JS (tanpa gambar generate) — justru
473
+ itu yang memberi rasa motion graphic After Effects.
474
+
475
+ Prinsip (urutan penting):
476
+
477
+ 1. **Satu pahlawan, dari detik 0 sampai akhir.** Subjek utama (atlet, kereta,
478
+ motor, kurir) tidak pernah keluar frame. Yang berganti adalah DUNIA di
479
+ sekitarnya, bukan subjeknya. Kalau ada 10 adegan, pahlawan hadir di 10-nya.
480
+ 2. **Selalu bergerak.** Latar mengalir (parallax 2–3 lapis, looping), ada
481
+ garis kecepatan, percikan/debu/asap partikel, subjek sendiri bergoyang
482
+ halus. Tidak ada satu detik pun yang diam total — bahkan saat angka besar
483
+ sedang dibaca.
484
+ 3. **Angka adalah properti panggung, bukan overlay.** Angka besar berdiri di
485
+ dalam dunia (di belakang subjek, dengan kedalaman parallax), lalu subjek
486
+ MELINTAS DI DEPANNYA dan menyapu angka itu keluar. Angka yang berubah
487
+ (35 → 43) berputar seperti odometer di tempat, bukan fade in/out.
488
+ 4. **Sudut pandang berganti, subjek tetap di tengah.** Samping → depan
489
+ (head-on) → miring mengikuti tikungan (seluruh dunia di-rotate 8–15°) →
490
+ atas (top-down). Pergantian sudut = pergantian adegan; tidak perlu cut.
491
+ 5. **Perubahan palet = perubahan tempo.** Saat cerita naik (kecepatan,
492
+ bahaya), latar berganti warna dalam 0,3 dtk + blur gerak; subjek tetap.
493
+ Kembali ke palet awal saat tempo turun.
494
+ 6. **Perbandingan tetap di dalam dunia yang sama** (angka pembanding
495
+ berdiri di latar, objek pembanding lewat di jalur lain), bukan layar
496
+ dibelah jadi panel — membelah layar terasa "template" dan menghentikan
497
+ dunia.
498
+ 7. **Teks hanya dua tingkat: angka besar + label dunia.** Tanpa subtitle
499
+ (lihat "Default yang sering salah dikira"); tidak ada kicker/body/badge.
500
+
501
+ Resep teknis (HTML + GSAP):
502
+
503
+ - Pahlawan = beberapa lapisan PNG (badan, kepala/helm, kendaraan, bayangan)
504
+ dalam satu `#hero` supaya tiap bagian bisa punya goyangan sendiri
505
+ (`yoyo` ±6–10 px dengan periode berbeda) + `#hero` di-nudge ±25 px.
506
+ - Latar = 2–3 strip lebar (`width:300%`) yang di-`x` looping
507
+ (`repeat:-1`, `ease:'none'`); kecepatan lapisan belakang ½ dari depan.
508
+ Ganti "tempat" dengan mengganti isi strip saat berada di luar frame.
509
+ - Angka dunia: elemen di lapisan `.deep` (skala .9, gerak ¾ kecepatan
510
+ latar depan) sehingga subjek yang di depan menutupinya saat melintas.
511
+ Odometer: dua `<span>` bertumpuk dalam `overflow:hidden`, tween `y`.
512
+ - Ganti sudut: siapkan 2–3 set gambar pahlawan (samping/depan/atas) yang
513
+ digenerate satu batch dengan gaya sama; saat ganti, whip 0,25 dtk
514
+ (blur gerak arah + geser 60 px) lalu set berikutnya sudah bergerak.
515
+ - Tikungan: `rotate` seluruh `#world` 8–15° selama 1,5 dtk, subjek ikut
516
+ miring sedikit lebih banyak (lead 3–5°).
517
+ - Palet: semua warna lewat CSS variable; tween `--bg`, `--ink` dengan gsap
518
+ (registerPlugin tidak perlu; tween objek lalu `style.setProperty`).
519
+ - Objek dunia diberi `t0` (masuk) dan `t1` (dibuang) supaya gunung/portal
520
+ yang sudah "ditembus" tidak tetap tergambar di depan subjek.
521
+ - Menyembunyikan satu view dengan `visibility:hidden` TIDAK menyembunyikan
522
+ anak SVG yang punya atribut `visibility="visible"` sendiri — atribut anak
523
+ mengalahkan induk, objeknya "tembus" ke view lain (penanda peta muncul di
524
+ atas kereta samping, dan tampak blur karena view lama masih ber-filter).
525
+ Untuk menampilkan anak, HAPUS atributnya (`removeAttribute('visibility')`),
526
+ jangan set 'visible'.
527
+ - Bangunan/peron yang "melayang": kanopi + tiang tipis saja tanpa dinding di
528
+ belakang subjek dan lantai di depan roda. Beri dinding berjendela di lapisan
529
+ belakang dan lantai peron di lapisan depan yang menutup bogie.
530
+ - Grup SVG yang diskalakan/diputar dari titik (0,0) lokalnya (kereta yang
531
+ mendekat, subjek yang miring): tulis atribut `transform` langsung
532
+ (`translate(x y) scale(s)`), jangan `gsap.set` — `transformOrigin` GSAP
533
+ diukur dari kotak pembatas elemen dan `svgOrigin` dari koordinat global,
534
+ sehingga objek melompat atau hilang saat kecil.
535
+ - Ukuran teks tetap mengikuti aturan "Keterbacaan di ponsel".
536
+
537
+ **Sudut pandang WAJIB berganti.** "Subjek dari samping + teks" dari awal
538
+ sampai akhir terasa statis dan monoton walau latar mengalir dan kamera
539
+ bergerak. Aturan: tidak ada tiga adegan berturut-turut dengan
540
+ sudut yang sama, dan tiap fakta baru idealnya dapat "instrumen" sendiri.
541
+ Katalog sudut yang sudah terbukti (semua vektor, semua dari rig yang sama):
542
+
543
+ | Fakta | Sudut / instrumen |
544
+ |---|---|
545
+ | pembuka & penutup | samping (jangkar visual — hanya di sini subjek boleh "hanya lewat") |
546
+ | kecepatan | kabin pengemudi: jarum speedometer menyapu + angka digital ikut, rel mengalir di kaca depan |
547
+ | rute / jarak / titik henti | simulasi peta: rute tergambar, penanda berjalan, titik pop, kamera zoom awal → seluruh rute |
548
+ | medan / terowongan / tanjakan | profil ketinggian (grafik kontur), rute memotong bukit, terowongan sebagai segmen berongga, yang terpanjang disorot lalu di-zoom |
549
+ | perbandingan waktu | balapan di peta: tiga penanda berangkat bersamaan di jalurnya masing-masing, satu jam tempuh berjalan, pemenang tiba saat yang lain baru ¼ jalan — bukan panel |
550
+ | jumlah / kapasitas | interior: lorong kabin perspektif, deretan kursi menyala berurutan, jendela dengan pemandangan mengalir |
551
+ | kedekatan / skala | tampak depan: subjek mendekat dari titik hilang sampai memenuhi frame |
552
+
553
+ Urutan yang enak: samping → kabin → peta → profil → balapan peta → depan →
554
+ interior → samping. Tiap view = satu `<div class="view">` berisi SVG
555
+ sendiri, diganti dengan whip (blur + geser 0,3 dtk); render tiap view tetap
556
+ fungsi murni dari waktu & jarak dunia yang sama, jadi sinkron VO tidak
557
+ terganggu saat view diganti.
558
+
559
+ Pemecah monotoni paling murah kalau hanya sempat satu: **simulasi peta
560
+ rute**. Peta vektor bergaya (garis pantai, sungai, waduk, ikon gunung, jalan
561
+ tol tipis, blob kota, kompas + skala), rute digambar dengan
562
+ `stroke-dasharray = panjang` dan `dashoffset` mengikuti progres; penanda
563
+ subjek bergerak lewat `getPointAtLength` dan diputar mengikuti tangen;
564
+ stasiun/titik "pop" (scale 0→1 dengan sedikit overshoot) saat progres
565
+ melewati fraksi panjangnya; kamera peta mulai zoom 2–2,5× di titik awal,
566
+ mengikuti penanda, lalu melonggar ke seluruh rute (`translate(pusat)
567
+ scale(z) translate(-cx -cy)` dihitung dari progres). Angka total (jarak,
568
+ waktu) muncul setelah zoom out. Tanpa ini, "subjek + teks" dari awal
569
+ sampai akhir tetap terasa statis walau latar mengalir.
570
+
571
+ Kamera samping juga harus "bernapas": rangkaian keyframe
572
+ `[t, zoom, cx, cy]` (dorong masuk 1,06–1,12× pada momen penting: angka
573
+ besar, portal terowongan, kedatangan) + osilasi ±0,6 % lambat, diterapkan
574
+ pada satu `<g>` pembungkus isi SVG — bukan pada teks HTML yang menempel di
575
+ kamera.
576
+
577
+ Jebakan: kalau pahlawan berganti gambar tiap adegan (pose baru, warna baru),
578
+ efek "satu subjek" hilang — jaga siluet, warna, dan posisi di frame. Dan
579
+ jangan hentikan latar untuk membaca teks; perlambat ke 40 % saja.