@autoaiai/aicut 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MANUAL.md +94 -94
- package/package.json +1 -1
- package/skills/aicut-motion/SKILL.md +69 -3
- package/skills/aicut-motion/THIRD_PARTY_NOTICES.md +14 -0
- package/skills/aicut-motion/assets/atlas/lib/harness.js +116 -0
- package/skills/aicut-motion/assets/atlas/lib/sound.js +274 -0
- package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/code.js +937 -0
- package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/code.js +909 -0
- package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/code.js +881 -0
- package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/code.js +897 -0
- package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/code.js +814 -0
- package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/code.js +990 -0
- package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/code.js +994 -0
- package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/code.js +792 -0
- package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/code.js +840 -0
- package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/code.js +1126 -0
- package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/code.js +854 -0
- package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/code.js +1124 -0
- package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/code.js +728 -0
- package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/code.js +664 -0
- package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/code.js +991 -0
- package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/code.js +801 -0
- package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/code.js +692 -0
- package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/code.js +756 -0
- package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/code.js +922 -0
- package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/code.js +852 -0
- package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/code.js +724 -0
- package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/code.js +793 -0
- package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/code.js +846 -0
- package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/code.js +1008 -0
- package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/code.js +680 -0
- package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/code.js +633 -0
- package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/code.js +757 -0
- package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/code.js +828 -0
- package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/code.js +697 -0
- package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/code.js +687 -0
- package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/code.js +727 -0
- package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/code.js +903 -0
- package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/code.js +662 -0
- package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/code.js +951 -0
- package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/code.js +759 -0
- package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/code.js +738 -0
- package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/code.js +793 -0
- package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/code.js +673 -0
- package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/code.js +907 -0
- package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/code.js +833 -0
- package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/041-manga-page/code.js +845 -0
- package/skills/aicut-motion/assets/atlas/styles/041-manga-page/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/041-manga-page/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/code.js +496 -0
- package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/043-light-painting/code.js +635 -0
- package/skills/aicut-motion/assets/atlas/styles/043-light-painting/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/043-light-painting/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/code.js +799 -0
- package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/code.js +547 -0
- package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/code.js +592 -0
- package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/code.js +768 -0
- package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/048-transit-map/code.js +666 -0
- package/skills/aicut-motion/assets/atlas/styles/048-transit-map/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/048-transit-map/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/code.js +559 -0
- package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/code.js +943 -0
- package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/code.js +606 -0
- package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/code.js +730 -0
- package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/code.js +782 -0
- package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/code.js +504 -0
- package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/code.js +517 -0
- package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/code.js +713 -0
- package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/code.js +717 -0
- package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/code.js +540 -0
- package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/code.js +524 -0
- package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/code.js +934 -0
- package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/code.js +690 -0
- package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/code.js +612 -0
- package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/code.js +666 -0
- package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/code.js +651 -0
- package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/code.js +656 -0
- package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/code.js +672 -0
- package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/code.js +548 -0
- package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/code.js +989 -0
- package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/code.js +440 -0
- package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/code.js +895 -0
- package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/code.js +563 -0
- package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/code.js +627 -0
- package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/code.js +1096 -0
- package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/code.js +595 -0
- package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/code.js +665 -0
- package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/code.js +645 -0
- package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/code.js +436 -0
- package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/code.js +1237 -0
- package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/code.js +622 -0
- package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/code.js +524 -0
- package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/code.js +689 -0
- package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/code.js +574 -0
- package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/code.js +469 -0
- package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/084-flow-field/code.js +531 -0
- package/skills/aicut-motion/assets/atlas/styles/084-flow-field/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/084-flow-field/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/code.js +675 -0
- package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/style.json +13 -0
- package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/code.js +609 -0
- package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/poster.jpg +0 -0
- package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/style.json +13 -0
- package/skills/aicut-motion/references/motion-delivery.md +55 -0
- package/skills/aicut-motion/references/style-index.json +690 -0
- package/skills/aicut-motion/references/style-research.md +73 -0
- package/skills/aicut-motion/references/style-selection.md +71 -0
- package/skills/aicut-motion/scripts/atlas-viewer.html +195 -0
- package/skills/aicut-motion/scripts/atlas.mjs +109 -0
- package/studio/server/fetch-github.mjs +14 -3
- package/studio/server/server.mjs +40 -3
- package/studio/server/skill-summaries.mjs +60 -0
- package/studio/server/skills.mjs +121 -7
- package/studio/server/styles-store.mjs +235 -0
- package/studio/server/template-posters.mjs +2 -2
- package/studio/server/templates-page.mjs +93 -93
- package/studio/server/templates.mjs +32 -7
- package/studio/ui/dist/assets/ExportCenter-DasulhAv.js +1 -0
- package/studio/ui/dist/assets/SettingsModal-BZw0Hz2_.js +2 -0
- package/studio/ui/dist/assets/es-C8XPZARI.js +1 -0
- package/studio/ui/dist/assets/index-BjJVmBzB.js +1623 -0
- package/studio/ui/dist/assets/index-C3BfKZFO.css +1 -0
- package/studio/ui/dist/assets/ja-BeNkdaEj.js +1 -0
- package/studio/ui/dist/assets/ko-DcTVhdzK.js +1 -0
- package/studio/ui/dist/assets/zh-CN-Cg51ctbL.js +1 -0
- package/studio/ui/dist/index.html +2 -2
- package/skills/30x-web-to-video/SKILL.md +0 -421
- package/skills/30x-web-to-video/examples/INDEX.md +0 -26
- package/skills/30x-web-to-video/references/animations.md +0 -539
- package/skills/30x-web-to-video/references/audio.md +0 -256
- package/skills/30x-web-to-video/references/components.md +0 -340
- package/skills/30x-web-to-video/references/lottie.md +0 -174
- package/skills/30x-web-to-video/references/visual-effects.md +0 -157
- package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +0 -169
- package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +0 -134
- package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +0 -120
- package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +0 -154
- package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +0 -38
- package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +0 -152
- package/skills/3d-asset-generation/SKILL.md +0 -142
- package/skills/action-fight-prompt/SKILL.md +0 -136
- package/skills/action-fight-prompt/references/camera-and-impact.md +0 -64
- package/skills/action-fight-prompt/references/example-15s-duel.md +0 -59
- package/skills/action-fight-prompt/references/scene-patterns.md +0 -80
- package/skills/ad-creative-video/SKILL.md +0 -205
- package/skills/ad-creative-video/references/batch-ad-pipeline.md +0 -289
- package/skills/ad-creative-video/references/platform-specs.md +0 -72
- package/skills/after-effects/SKILL.md +0 -123
- package/skills/after-effects/references/export-recipes.md +0 -168
- package/skills/after-effects/references/expression-library.md +0 -184
- package/skills/after-effects/references/expressions.md +0 -134
- package/skills/after-effects/references/performance-triage.md +0 -138
- package/skills/after-effects/references/project-hygiene.md +0 -188
- package/skills/ai-media-quality-review/SKILL.md +0 -72
- package/skills/ai-product-video/SKILL.md +0 -296
- package/skills/ai-product-video/references/aesthetic-rules.md +0 -177
- package/skills/ai-product-video/references/final-review.md +0 -110
- package/skills/ai-product-video/references/guided-free-creation.md +0 -194
- package/skills/ai-product-video/references/music-beat-sync.md +0 -219
- package/skills/ai-product-video/references/pipeline.md +0 -392
- package/skills/ai-product-video/references/sequences/promo-energy-arc.md +0 -50
- package/skills/ai-product-video/references/shots/ATTRIBUTION.md +0 -65
- package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +0 -39
- package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +0 -38
- package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +0 -40
- package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +0 -57
- package/skills/anidoodle/SKILL.md +0 -185
- package/skills/anidoodle/references/anatomy.md +0 -91
- package/skills/anidoodle/references/backends-and-adapters.md +0 -82
- package/skills/anidoodle/references/camera.md +0 -148
- package/skills/anidoodle/references/craft-bar.md +0 -72
- package/skills/anidoodle/references/determinism-and-contract.md +0 -46
- package/skills/anidoodle/references/formats.md +0 -121
- package/skills/anidoodle/references/motion-grammar.md +0 -234
- package/skills/anidoodle/references/music/compose.md +0 -388
- package/skills/anidoodle/references/music/sound-design.md +0 -245
- package/skills/anidoodle/references/music/sounds-licenses.md +0 -69
- package/skills/anidoodle/references/music/styles/lofi-electronic.md +0 -112
- package/skills/anidoodle/references/music/styles/music-box.md +0 -57
- package/skills/animated-component-libraries/SKILL.md +0 -820
- package/skills/animated-component-libraries/references/customization_guide.md +0 -699
- package/skills/animated-component-libraries/references/magic_ui_components.md +0 -422
- package/skills/animated-component-libraries/references/react_bits_components.md +0 -587
- package/skills/animated-infographic/SKILL.md +0 -211
- package/skills/animated-infographic/references/sequenced-infographic.md +0 -286
- package/skills/appshot-core/SKILL.md +0 -872
- package/skills/article-highlights/SKILL.md +0 -151
- package/skills/avatar-mix/SKILL.md +0 -301
- package/skills/bang-motion/SKILL.md +0 -583
- package/skills/bang-motion/references/ae-bridge-higgsfield.md +0 -160
- package/skills/bang-motion/references/anti-ppt.md +0 -110
- package/skills/bang-motion/references/architecture.md +0 -188
- package/skills/bang-motion/references/explainer.md +0 -579
- package/skills/bang-motion/references/kartun-panggung.md +0 -221
- package/skills/bang-motion/references/opener-konsep.md +0 -817
- package/skills/bang-motion/references/roadmap.md +0 -85
- package/skills/bang-motion/references/techniques.md +0 -690
- package/skills/beat-sync-edit/SKILL.md +0 -148
- package/skills/book-video-factory/SKILL.md +0 -139
- package/skills/book-video-factory/references/first-run.md +0 -50
- package/skills/book-video-factory/references/paper-collage-explainer.md +0 -127
- package/skills/book-video-factory/references/quality-gates.md +0 -87
- package/skills/book-video-production/SKILL.md +0 -211
- package/skills/brag/SKILL.md +0 -195
- package/skills/brag/references/audio.md +0 -312
- package/skills/brag/references/step-1-inspect.md +0 -125
- package/skills/brag/references/step-2-plan.md +0 -234
- package/skills/brag/references/step-3-compose.md +0 -199
- package/skills/brag/references/step-4-deliver.md +0 -141
- package/skills/brag/references/tones.md +0 -231
- package/skills/brand-setup/SKILL.md +0 -228
- package/skills/brewreel/SKILL.md +0 -491
- package/skills/brewreel/docs/broll.en.md +0 -252
- package/skills/brewreel/docs/broll.md +0 -252
- package/skills/brewreel/docs/custom-shot.en.md +0 -66
- package/skills/brewreel/docs/custom-shot.md +0 -103
- package/skills/brewreel/docs/faq.en.md +0 -90
- package/skills/brewreel/docs/faq.md +0 -90
- package/skills/brewreel/docs/features.en.md +0 -157
- package/skills/brewreel/docs/features.md +0 -157
- package/skills/brewreel/docs/gallery.en.md +0 -44
- package/skills/brewreel/docs/gallery.md +0 -44
- package/skills/brewreel/docs/how-it-works.en.md +0 -64
- package/skills/brewreel/docs/how-it-works.md +0 -64
- package/skills/caption-animation/SKILL.md +0 -216
- package/skills/caption-animation/references/word-timed-captions.md +0 -254
- package/skills/cartcut-editing/SKILL.md +0 -615
- package/skills/cartcut-editing/references/html-typography.md +0 -277
- package/skills/cassette-video-edit/SKILL.md +0 -129
- package/skills/ccvideo/SKILL.md +0 -264
- package/skills/chekhov-dramaturgy/SKILL.md +0 -367
- package/skills/chekhov-dramaturgy/reference.md +0 -375
- package/skills/chengfeng-check-updates/SKILL.md +0 -283
- package/skills/cinematic-product-promo-skill/SKILL.md +0 -295
- package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +0 -187
- package/skills/cinematic-product-promo-skill/references/final-review.md +0 -116
- package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +0 -199
- package/skills/cinematic-product-promo-skill/references/jianying-export.md +0 -183
- package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +0 -257
- package/skills/cinematic-product-promo-skill/references/pipeline.md +0 -393
- package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +0 -50
- package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +0 -65
- package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +0 -39
- package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +0 -38
- package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +0 -40
- package/skills/claude-gif/SKILL.md +0 -211
- package/skills/claude-gif/references/gif-optimization.md +0 -209
- package/skills/claude-gif/references/perfect-loops.md +0 -295
- package/skills/claude-gif/references/platform-specs.md +0 -138
- package/skills/claude-gif/references/prompt-engineering.md +0 -211
- package/skills/claude-gif/references/remotion-gif.md +0 -560
- package/skills/codex-video-pipeline/SKILL.md +0 -213
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +0 -10
- package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +0 -22
- package/skills/codex-video-pipeline/references/captions.md +0 -39
- package/skills/codex-video-pipeline/references/cover-system.md +0 -72
- package/skills/codex-video-pipeline/references/cross-platform.md +0 -77
- package/skills/codex-video-pipeline/references/example-run.md +0 -54
- package/skills/codex-video-pipeline/references/first-run.md +0 -130
- package/skills/codex-video-pipeline/references/project-contract.md +0 -54
- package/skills/codex-video-pipeline/references/quality-gates.md +0 -44
- package/skills/codex-video-pipeline/references/research-and-script.md +0 -50
- package/skills/collage-broll-explainers/SKILL.md +0 -429
- package/skills/create-onboarding-video/SKILL.md +0 -233
- package/skills/cs-shotcraft-skill/SKILL.md +0 -218
- package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +0 -207
- package/skills/cs-shotcraft-skill/references/camera-table.md +0 -88
- package/skills/cs-shotcraft-skill/references/engineering.md +0 -132
- package/skills/cs-shotcraft-skill/references/final-review.md +0 -118
- package/skills/cs-shotcraft-skill/references/guided-free-creation.md +0 -199
- package/skills/cs-shotcraft-skill/references/jianying-export.md +0 -183
- package/skills/cs-shotcraft-skill/references/music-beat-sync.md +0 -257
- package/skills/cs-shotcraft-skill/references/pipeline.md +0 -408
- package/skills/cs-shotcraft-skill/references/product-machine.md +0 -56
- package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +0 -50
- package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +0 -65
- package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/cut-video/SKILL.md +0 -387
- package/skills/cyxj-hyperframes-overlay/SKILL.md +0 -75
- package/skills/cyxj-remotion-evolve/SKILL.md +0 -123
- package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +0 -123
- package/skills/demo-video-creation-skill/SKILL.md +0 -152
- package/skills/demo-video-creation-skill/references/capture-workflow.md +0 -74
- package/skills/demo-video-creation-skill/references/qc-checklist.md +0 -61
- package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +0 -94
- package/skills/demo-video-creation-skill/references/storytelling.md +0 -86
- package/skills/demo-video-creation-skill/references/visual-system.md +0 -83
- package/skills/demoday/SKILL.md +0 -148
- package/skills/develop-premiere-pro-mcp/SKILL.md +0 -131
- package/skills/diagram-animation/SKILL.md +0 -200
- package/skills/diagram-animation/references/diagram-and-chart-recipes.md +0 -218
- package/skills/diagram-tour/SKILL.md +0 -287
- package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +0 -78
- package/skills/docvideoer/SKILL.md +0 -139
- package/skills/draftcut/SKILL.md +0 -104
- package/skills/draftcut/docs/agent-bootstrap.md +0 -64
- package/skills/draftcut/docs/approvals.md +0 -45
- package/skills/draftcut/docs/audio-first-migration.md +0 -35
- package/skills/draftcut/docs/configuration.md +0 -54
- package/skills/draftcut/docs/getting-started.md +0 -63
- package/skills/draftcut/docs/harness-case-study.en.md +0 -23
- package/skills/draftcut/docs/harness-case-study.md +0 -47
- package/skills/draftcut/references/01-plan.md +0 -30
- package/skills/draftcut/references/03-deliver.md +0 -26
- package/skills/draftcut/references/04-reference-theme-prompt.md +0 -7
- package/skills/draftcut/references/05-social-loudness.md +0 -58
- package/skills/draftcut/references/06-modern-components.md +0 -72
- package/skills/easyedit/SKILL.md +0 -66
- package/skills/erduo-broll-loop-engineering/SKILL.md +0 -136
- package/skills/erduo-broll-loop-engineering/references/animation-craft.md +0 -208
- package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +0 -107
- package/skills/erduo-broll-loop-engineering/references/handoff-template.md +0 -70
- package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +0 -122
- package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +0 -171
- package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +0 -322
- package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +0 -334
- package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +0 -76
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +0 -174
- package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +0 -135
- package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +0 -7
- package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +0 -65
- package/skills/explainer-assets/SKILL.md +0 -98
- package/skills/explainer-video/SKILL.md +0 -146
- package/skills/framewright/SKILL.md +0 -324
- package/skills/framewright/references/audio.md +0 -230
- package/skills/framewright/references/guide.md +0 -276
- package/skills/framewright/references/painting.md +0 -425
- package/skills/framewright/references/photo.md +0 -75
- package/skills/framewright/references/questionnaire.md +0 -115
- package/skills/framewright/references/styles.md +0 -388
- package/skills/framewright/references/troubleshooting.md +0 -119
- package/skills/framewright/references/world.md +0 -215
- package/skills/gbro-collage-broll/SKILL.md +0 -435
- package/skills/gbro-collage-info/SKILL.md +0 -135
- package/skills/gbro-collage-info/references/motion-grammar.md +0 -66
- package/skills/gbro-collage-info/references/production.md +0 -67
- package/skills/gbro-collage-info/references/style-system.md +0 -38
- package/skills/gemini-tts/SKILL.md +0 -208
- package/skills/gemini-tts/references/prompting-guide.md +0 -169
- package/skills/gen/SKILL.md +0 -282
- package/skills/ghost-editor/SKILL.md +0 -437
- package/skills/ghost-editor/docs/HOW-IT-WORKS.md +0 -82
- package/skills/ghost-editor/docs/PLAYBOOK.md +0 -139
- package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +0 -17
- package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +0 -13
- package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +0 -20
- package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +0 -17
- package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +0 -22
- package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +0 -22
- package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +0 -20
- package/skills/ghost-editor/docs/THIRD_PARTY/models.md +0 -11
- package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +0 -13
- package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +0 -15
- package/skills/git-story-film/SKILL.md +0 -220
- package/skills/git-story-film/examples/raven-story/FONTS.md +0 -8
- package/skills/git-story-film/examples/raven-story/OUTLINE.md +0 -93
- package/skills/git-story-film/references/craft.md +0 -148
- package/skills/git-story-film/references/directing.md +0 -185
- package/skills/git-story-film/references/forms.md +0 -150
- package/skills/git-story-film/references/production.md +0 -150
- package/skills/git-story-film/references/story.md +0 -137
- package/skills/git-story-film/references/text-and-fonts.md +0 -90
- package/skills/guizang-product-video-skill/SKILL.md +0 -96
- package/skills/guizang-product-video-skill/references/audio-and-qa.md +0 -113
- package/skills/guizang-product-video-skill/references/audio-sourcing.md +0 -80
- package/skills/guizang-product-video-skill/references/case-study.md +0 -63
- package/skills/guizang-product-video-skill/references/component-pipeline.md +0 -86
- package/skills/guizang-product-video-skill/references/cover.md +0 -43
- package/skills/guizang-product-video-skill/references/direction.md +0 -91
- package/skills/guizang-product-video-skill/references/onboarding.md +0 -98
- package/skills/guizang-product-video-skill/references/repo-and-style.md +0 -44
- package/skills/guizang-product-video-skill/references/review.md +0 -38
- package/skills/guizang-product-video-skill/references/starter.md +0 -168
- package/skills/guizang-product-video-skill/references/story-and-copy.md +0 -88
- package/skills/guizang-product-video-skill/references/visual-vocabulary.md +0 -78
- package/skills/guofeng-paper-video/SKILL.md +0 -159
- package/skills/guofeng-paper-video/style/design.md +0 -43
- package/skills/guofeng-paper-video/style/palette.md +0 -21
- package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +0 -19
- package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +0 -37
- package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +0 -27
- 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 +0 -67
- 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 +0 -29
- package/skills/hand-drawn-explainer-video-nikola/SKILL.md +0 -113
- package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +0 -18
- package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +0 -22
- package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +0 -28
- package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +0 -35
- package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +0 -24
- package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +0 -67
- package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +0 -79
- package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +0 -49
- package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +0 -82
- package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +0 -39
- package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +0 -30
- package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +0 -37
- package/skills/hbg-life-simulation/SKILL.md +0 -285
- package/skills/hbg-life-simulation/references/image-generation.md +0 -53
- package/skills/hbg-life-simulation/references/local-account-api.md +0 -112
- package/skills/hbg-life-simulation/references/opening-system.md +0 -45
- package/skills/hbg-life-simulation/references/project-spec.md +0 -62
- package/skills/hbg-life-simulation/references/render-and-qa.md +0 -107
- package/skills/hbg-life-simulation/references/storyboarding.md +0 -69
- package/skills/hbg-life-simulation/references/style-system.md +0 -80
- package/skills/hbg-life-simulation/references/visual-system.md +0 -44
- package/skills/heygen-avatar/SKILL.md +0 -489
- package/skills/heygen-avatar/references/asset-routing.md +0 -86
- package/skills/heygen-avatar/references/avatar-creation.md +0 -181
- package/skills/heygen-avatar/references/troubleshooting.md +0 -137
- package/skills/heytea-doodle-poster/SKILL.md +0 -132
- package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +0 -103
- package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +0 -122
- package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +0 -106
- package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +0 -264
- package/skills/heytea-doodle-poster/references/evaluation.md +0 -246
- package/skills/heytea-doodle-poster/references/lettering-guide.md +0 -213
- package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +0 -101
- package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +0 -56
- package/skills/heytea-doodle-poster/references/style-guide.md +0 -412
- package/skills/heytea-doodle-poster-hosted/SKILL.md +0 -132
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +0 -103
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +0 -122
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +0 -106
- package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +0 -264
- package/skills/heytea-doodle-poster-hosted/references/evaluation.md +0 -246
- package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +0 -213
- package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +0 -101
- package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +0 -56
- package/skills/heytea-doodle-poster-hosted/references/style-guide.md +0 -412
- package/skills/html2video/SKILL.md +0 -290
- package/skills/html2video/references/cjk-type.md +0 -173
- package/skills/html2video/references/editorial.md +0 -145
- package/skills/html2video/references/narration.md +0 -111
- package/skills/html2video/references/pitfalls.md +0 -238
- package/skills/html2video/references/shots.md +0 -198
- package/skills/html2video/references/storyboard.md +0 -323
- package/skills/hyperdirector/SKILL.md +0 -202
- package/skills/hyperdirector/docs/audio-workflow.md +0 -160
- package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +0 -244
- package/skills/hyperdirector/docs/brand-kit-setup.md +0 -322
- package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +0 -277
- package/skills/hyperdirector/docs/cursor-development-notes.md +0 -474
- package/skills/hyperdirector/docs/faq.md +0 -285
- package/skills/hyperdirector/docs/faq.zh-CN.md +0 -198
- package/skills/hyperdirector/docs/first-video.md +0 -320
- package/skills/hyperdirector/docs/first-video.zh-CN.md +0 -265
- package/skills/hyperdirector/docs/installation.md +0 -254
- package/skills/hyperdirector/docs/installation.zh-CN.md +0 -222
- package/skills/hyperdirector/docs/quickstart.md +0 -203
- package/skills/hyperframes/SKILL.md +0 -117
- package/skills/hyperframes/references/captions.md +0 -46
- package/skills/hyperframes/references/film.md +0 -48
- package/skills/hyperframes/references/format.md +0 -158
- package/skills/hyperframes/references/look.md +0 -69
- package/skills/hyperframes/references/motion.md +0 -95
- package/skills/hyperframes/references/overlays.md +0 -39
- package/skills/hyperframes/references/review.md +0 -51
- package/skills/hyperframes/references/runtimes.md +0 -69
- package/skills/hyperframes/references/skill-lifecycle.md +0 -49
- package/skills/hyperframes/references/sound.md +0 -43
- package/skills/hyperframes/references/spec.md +0 -76
- package/skills/hyperframes/references/story.md +0 -103
- package/skills/hyperframes-motion-director/SKILL.md +0 -920
- package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +0 -185
- package/skills/hyperframes-motion-director/references/audio-sync.md +0 -83
- package/skills/hyperframes-motion-director/references/design-engineering.md +0 -156
- package/skills/hyperframes-motion-director/references/gsap-choreography.md +0 -202
- package/skills/hyperframes-motion-director/references/hyperframes-stability.md +0 -99
- package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +0 -227
- package/skills/hyperframes-motion-director/references/motion-background-system.md +0 -165
- package/skills/hyperframes-motion-director/references/motion-craft.md +0 -182
- package/skills/hyperframes-motion-director/references/premium-product-promo.md +0 -287
- package/skills/hyperframes-motion-director/references/text-over-background-layout.md +0 -221
- package/skills/hyperframes-motion-director/references/visual-standard.md +0 -174
- package/skills/hyperframes-motion-director/references/workflow.md +0 -320
- package/skills/hypit/SKILL.md +0 -367
- package/skills/hypit/references/creation/brief.md +0 -93
- package/skills/hypit/references/creation/script-and-time.md +0 -259
- package/skills/hypit/references/creation/transformations.md +0 -143
- package/skills/hypit/references/playbooks/craft/b-roll.md +0 -94
- package/skills/hypit/references/playbooks/craft/caption-tracking.md +0 -126
- package/skills/hypit/references/playbooks/craft/captions.md +0 -253
- package/skills/hypit/references/playbooks/craft/generated-dependencies.md +0 -38
- package/skills/hypit/references/playbooks/craft/graphic-compositions.md +0 -85
- package/skills/hypit/references/playbooks/craft/motion-graphics.md +0 -68
- package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +0 -51
- package/skills/hypit/references/playbooks/craft/sound-mix.md +0 -70
- package/skills/hypit/references/playbooks/formats/narration-led-demo.md +0 -87
- package/skills/image/SKILL.md +0 -153
- package/skills/image/references/characters.md +0 -86
- package/skills/image/references/creative-direction.md +0 -137
- package/skills/image/references/de-slop.md +0 -95
- package/skills/image/references/dimensional.md +0 -88
- package/skills/image/references/editing.md +0 -112
- package/skills/image/references/golden-rules.md +0 -198
- package/skills/image/references/gpt-image.md +0 -228
- package/skills/image/references/models.md +0 -78
- package/skills/image/references/multi-panel.md +0 -354
- package/skills/image/references/nano-banana.md +0 -150
- package/skills/image/references/patterns/character-design.md +0 -150
- package/skills/image/references/patterns/ecommerce.md +0 -124
- package/skills/image-smixs/SKILL.md +0 -153
- package/skills/image-smixs/references/characters.md +0 -86
- package/skills/image-smixs/references/creative-direction.md +0 -137
- package/skills/image-smixs/references/de-slop.md +0 -95
- package/skills/image-smixs/references/dimensional.md +0 -88
- package/skills/image-smixs/references/editing.md +0 -112
- package/skills/image-smixs/references/golden-rules.md +0 -198
- package/skills/image-smixs/references/gpt-image.md +0 -228
- package/skills/image-smixs/references/models.md +0 -78
- package/skills/image-smixs/references/multi-panel.md +0 -354
- package/skills/image-smixs/references/nano-banana.md +0 -150
- package/skills/image-smixs/references/patterns/character-design.md +0 -150
- package/skills/image-smixs/references/patterns/ecommerce.md +0 -124
- package/skills/image-story-video-wizard/SKILL.md +0 -148
- package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +0 -29
- package/skills/image-story-video-wizard/references/host-routing.md +0 -44
- package/skills/image-story-video-wizard/references/state-schema.md +0 -79
- package/skills/image-story-video-wizard/references/workflow.md +0 -203
- package/skills/image-story-video-wizard/references/writing-and-review.md +0 -60
- package/skills/ip-as-logo/SKILL.md +0 -151
- package/skills/ip-as-logo-s1dashu/SKILL.md +0 -151
- package/skills/jtxvideo-skill/SKILL.md +0 -337
- package/skills/kinetic-reel/SKILL.md +0 -140
- package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +0 -51
- package/skills/kinetic-reel/references/sound.md +0 -40
- package/skills/kinetic-reel/references/style-guide.md +0 -79
- package/skills/knowledge-explainer-skill/SKILL.md +0 -149
- package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +0 -61
- package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +0 -20
- package/skills/knowledge-explainer-skill/examples/before_after_demo.md +0 -38
- package/skills/knowledge-explainer-skill/examples/cta_outro.md +0 -11
- package/skills/knowledge-explainer-skill/examples/double_pendulum.md +0 -20
- package/skills/knowledge-explainer-skill/examples/paper_fold.md +0 -20
- package/skills/knowledge-explainer-skill/examples/script.md +0 -40
- package/skills/lanshu-create-ai-presenter-video/SKILL.md +0 -253
- package/skills/lanshu-create-ai-presenter-video/references/editing.md +0 -67
- package/skills/lanshu-create-ai-presenter-video/references/generation.md +0 -94
- package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +0 -83
- package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +0 -189
- package/skills/laoxu-video-script/SKILL.md +0 -117
- package/skills/laoxu-video-script/references/cases.md +0 -305
- package/skills/laoxu-video-script/references/de-ai.md +0 -32
- package/skills/laoxu-video-script/references/diagnostics.md +0 -67
- package/skills/laoxu-video-script/references/format.md +0 -62
- package/skills/laoxu-video-script/references/formulas.md +0 -43
- package/skills/laoxu-video-script/references/method.md +0 -115
- package/skills/laoxu-video-script/references/motifs-and-lines.md +0 -829
- package/skills/laoxu-video-script/references/persona.md +0 -38
- package/skills/laoxu-video-script/references/qihao-path.md +0 -35
- package/skills/laoxu-video-script/references/qihao-xinfa.md +0 -39
- package/skills/laoxu-video-script/references/redlines.md +0 -26
- package/skills/lemo-opuscar/SKILL.md +0 -67
- package/skills/lipnardo/SKILL.md +0 -308
- package/skills/lipnardo/examples/batch-personalized.md +0 -44
- package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +0 -56
- package/skills/lipnardo/examples/single-video.md +0 -44
- package/skills/lipnardo/references/avatar-types.md +0 -42
- package/skills/lipnardo/references/credit-costs.md +0 -39
- package/skills/lipnardo/references/error-codes.md +0 -66
- package/skills/lipnardo/references/heygen-api-reference.md +0 -416
- package/skills/ll-video-decomposer/SKILL.md +0 -105
- package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +0 -44
- package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +0 -41
- package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +0 -48
- package/skills/ll-video-decomposer/references/single-video-report-template.md +0 -47
- package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +0 -30
- package/skills/ll-video-decomposer/references/transcription-routing.md +0 -65
- package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +0 -30
- package/skills/ltx2-video/SKILL.md +0 -193
- package/skills/ltx2-video/references/mode_ux.md +0 -293
- package/skills/make-ai-short/SKILL.md +0 -130
- package/skills/make-blender-education-video/SKILL.md +0 -247
- package/skills/make-blender-education-video/references/evidence-and-explanation.md +0 -62
- package/skills/make-blender-education-video/references/github-workflow-discovery.md +0 -55
- package/skills/make-blender-education-video/references/production-workflow.md +0 -62
- package/skills/make-blender-education-video/references/story-patterns.md +0 -65
- package/skills/make-blender-education-video/references/visual-quality.md +0 -82
- package/skills/manage-storyboard-projects/SKILL.md +0 -128
- package/skills/manim-composer/SKILL.md +0 -176
- package/skills/manim-composer/references/narrative-patterns.md +0 -125
- package/skills/manim-composer/references/scene-examples.md +0 -216
- package/skills/manim-composer/references/visual-techniques.md +0 -223
- package/skills/manim-composer/templates/scenes-template.md +0 -147
- package/skills/monet-ai-editor-monet/SKILL.md +0 -367
- package/skills/motion-graphics/SKILL.md +0 -206
- package/skills/motion-graphics/references/craft.md +0 -136
- package/skills/motion-graphics/references/engine.md +0 -130
- package/skills/motion-graphics/references/export.md +0 -67
- package/skills/motion-graphics/references/physics.md +0 -100
- package/skills/motion-graphics/references/verify.md +0 -124
- package/skills/motion-video/SKILL.md +0 -133
- package/skills/motion-video/references/audio-and-beat-sync.md +0 -109
- package/skills/motion-video/references/composition-contract.md +0 -107
- package/skills/motion-video/references/production-pipeline.md +0 -147
- package/skills/motion-video/references/style-comic-spiderverse.md +0 -87
- package/skills/motion-video/references/style-glass-keynote.md +0 -69
- package/skills/motion-video-maker/SKILL.md +0 -1452
- package/skills/motion-video-maker/reference/components.md +0 -451
- package/skills/motion-video-maker/reference/workflow.md +0 -190
- package/skills/motioncraft/SKILL.md +0 -221
- package/skills/motioncraft/references/animation-system.md +0 -57
- package/skills/motioncraft/references/assets-and-licensing.md +0 -21
- package/skills/motioncraft/references/customization.md +0 -52
- package/skills/motioncraft/references/gpu-cloud-render.md +0 -15
- package/skills/motioncraft/references/music.md +0 -43
- package/skills/motioncraft/references/phase1-planning-and-preview.md +0 -74
- package/skills/motioncraft/references/phase2-timeline-audio.md +0 -33
- package/skills/motioncraft/references/phase3-pixel-review.md +0 -13
- package/skills/motioncraft/references/phase4-templates.md +0 -30
- package/skills/motioncraft/references/preflight.md +0 -27
- package/skills/motioncraft/references/qa.md +0 -53
- package/skills/motioncraft/references/reference-analysis.md +0 -37
- package/skills/narrator-ai-cli/SKILL.md +0 -256
- package/skills/narrator-ai-cli/references/magic-video.md +0 -205
- package/skills/narrator-ai-cli/references/operations.md +0 -230
- package/skills/narrator-ai-cli/references/resources.md +0 -126
- package/skills/narrator-ai-cli/references/workflows.md +0 -332
- package/skills/newcut-video-clipping/SKILL.md +0 -194
- package/skills/newcut-video-clipping/references/examples.md +0 -59
- package/skills/newcut-video-clipping/references/provider-config.md +0 -110
- package/skills/newcut-video-clipping/references/quality-check.md +0 -35
- package/skills/newcut-video-clipping/references/semantic-plan.md +0 -65
- package/skills/notes-to-video/SKILL.md +0 -476
- package/skills/openchatcut/SKILL.md +0 -100
- package/skills/openchatcut/references/editing-workflow.md +0 -54
- package/skills/openchatcut/references/getting-started.md +0 -106
- package/skills/openchatcut/references/known-errors.md +0 -62
- package/skills/openstoryline-install/SKILL.md +0 -228
- package/skills/orca-motion/SKILL.md +0 -100
- package/skills/orca-motion/references/api.md +0 -100
- package/skills/orca-motion/references/integration.md +0 -59
- package/skills/orca-motion/references/kinetic-type.md +0 -59
- package/skills/orca-motion/references/principles.md +0 -76
- package/skills/package-talking-head-video/SKILL.md +0 -90
- package/skills/package-talking-head-video/docs/EXAMPLES.md +0 -18
- package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +0 -29
- package/skills/package-talking-head-video/docs/USAGE.md +0 -83
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +0 -144
- package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +0 -1099
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +0 -154
- package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +0 -365
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +0 -56
- package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +0 -8
- package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +0 -34
- package/skills/package-talking-head-video/references/director-rules.md +0 -29
- package/skills/package-talking-head-video/references/motion-and-illustration.md +0 -25
- package/skills/paper-cut/SKILL.md +0 -164
- package/skills/paper-cut/references/asset-spec.md +0 -47
- package/skills/paper-cut/references/audio-and-chatcut.md +0 -26
- package/skills/paper-cut/references/hyperframes-assembly.md +0 -47
- package/skills/paper-cut/references/image-led-production.md +0 -65
- package/skills/paper-cut/references/storyboard-schema.md +0 -48
- package/skills/paper-cut/references/workflow.md +0 -39
- package/skills/personal-ip-brand-intro/SKILL.md +0 -216
- package/skills/personal-ip-brand-intro/references/intake-schema.md +0 -79
- package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +0 -40
- package/skills/personal-ip-brand-intro/references/originality-rules.md +0 -42
- package/skills/personal-ip-brand-intro/references/qa-checklist.md +0 -60
- package/skills/personal-ip-brand-intro/references/rhythm-routing.md +0 -41
- package/skills/personal-ip-brand-intro/references/storyboard-contract.md +0 -42
- package/skills/pixel2motion/SKILL.md +0 -279
- package/skills/pixel2motion/references/html-delivery-template.md +0 -42
- package/skills/pixel2motion/references/motion-personality.md +0 -109
- package/skills/pixel2motion/references/reveal-patterns.md +0 -163
- package/skills/pixel2motion/references/ribbon-fitting.md +0 -90
- package/skills/pixel2motion/references/twelve-principles-for-logos.md +0 -116
- package/skills/premiere-batch-delivery/SKILL.md +0 -71
- package/skills/premiere-pro-mcp/SKILL.md +0 -161
- package/skills/promo-creator-skills/SKILL.md +0 -209
- package/skills/promo-creator-skills/references/mureka_prompt_guide.md +0 -251
- package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +0 -100
- package/skills/promo-video/SKILL.md +0 -408
- package/skills/qisi-video-remix/SKILL.md +0 -134
- package/skills/qisi-video-remix/examples/creative-plan.md +0 -133
- package/skills/qisi-video-remix/references/delivery-guide.md +0 -63
- package/skills/reel-video/SKILL.md +0 -237
- package/skills/remotion-ad-video/SKILL.md +0 -252
- package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +0 -60
- package/skills/remotion-ad-video/references/ad-brief-contract.md +0 -235
- package/skills/remotion-ad-video/references/ad-exemplars.md +0 -186
- package/skills/remotion-ad-video/references/ad-intake.md +0 -54
- package/skills/remotion-ad-video/references/asset-harvest.md +0 -56
- package/skills/remotion-ad-video/references/audio-caption-system.md +0 -202
- package/skills/remotion-ad-video/references/concept-contract.md +0 -128
- package/skills/remotion-ad-video/references/creative-direction.md +0 -146
- package/skills/remotion-ad-video/references/fast-test-workflow.md +0 -86
- package/skills/remotion-ad-video/references/game-ad-patterns.md +0 -75
- package/skills/remotion-ad-video/references/hyperframes-output.md +0 -90
- package/skills/remotion-ad-video/references/industry-angle-library.md +0 -71
- package/skills/remotion-ads/SKILL.md +0 -278
- package/skills/remotion-ads/references/ad-copywriting.md +0 -229
- package/skills/remotion-ads/references/animations.md +0 -693
- package/skills/remotion-ads/references/brand-config-template.md +0 -355
- package/skills/remotion-ads/references/captions.md +0 -529
- package/skills/remotion-ads/references/carousels.md +0 -580
- package/skills/remotion-ads/references/components.md +0 -897
- package/skills/remotion-ads/references/copy-frameworks.md +0 -144
- package/skills/remotion-ads/references/formats.md +0 -436
- package/skills/remotion-ads/references/gemini-tts.md +0 -473
- package/skills/remotion-ads/references/html-in-canvas.md +0 -555
- package/skills/remotion-ads/references/local-assets.md +0 -543
- package/skills/remotion-ads/references/music.md +0 -656
- package/skills/remotion-code-motion-explainer/SKILL.md +0 -178
- package/skills/remotion-code-motion-explainer/references/code-motion-design.md +0 -86
- package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +0 -93
- package/skills/remotion-code-motion-explainer/references/production-and-qc.md +0 -99
- package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +0 -48
- package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +0 -62
- package/skills/remotion-motion-graphics/SKILL.md +0 -169
- package/skills/remotion-motion-graphics/references/patterns.md +0 -355
- package/skills/remotion-motion-graphics/references/polish.md +0 -102
- package/skills/remotion-motion-graphics/references/scaffold.md +0 -144
- package/skills/remotion-motion-graphics/references/traps.md +0 -152
- package/skills/remotion-resemble-ai/SKILL.md +0 -879
- package/skills/remotion-resemble-ai/rules/resemble-captions.md +0 -350
- package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +0 -305
- package/skills/remotion-resemble-ai/rules/resemble-setup.md +0 -284
- package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +0 -225
- package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +0 -239
- package/skills/remotion-resemble-ai/rules/resemble-voices.md +0 -213
- package/skills/remotion-resemble-ai/rules/visual-animations.md +0 -567
- package/skills/riffkit/SKILL.md +0 -196
- package/skills/riffkit/examples/any-look-styles.md +0 -11
- package/skills/riffkit/examples/faceless-and-auto.md +0 -16
- package/skills/riffkit/examples/localize-spanish.md +0 -18
- package/skills/riffkit/examples/tiktok-shop-product.md +0 -22
- package/skills/riffkit/references/anchor.md +0 -62
- package/skills/riffkit/references/api.md +0 -806
- package/skills/riffkit/references/details.md +0 -153
- package/skills/riffkit/references/errors.md +0 -69
- package/skills/riffkit/references/intents.md +0 -29
- package/skills/saas-motion-video/SKILL.md +0 -71
- package/skills/script-to-video/SKILL.md +0 -2627
- package/skills/shorts/SKILL.md +0 -372
- package/skills/shorts/references/caption-styles.md +0 -105
- package/skills/shorts/references/platform-specs.md +0 -149
- package/skills/shorts/references/remotion-patterns.md +0 -180
- package/skills/shorts/references/scoring-rubric.md +0 -106
- package/skills/smart-video-editor/SKILL.md +0 -327
- package/skills/smart-video-editor/docs/FONTS.md +0 -57
- package/skills/story-telling/SKILL.md +0 -222
- package/skills/story-telling/rules/composition.md +0 -130
- package/skills/story-telling/rules/images.md +0 -119
- package/skills/story-telling/rules/models.md +0 -98
- package/skills/story-telling/rules/narration.md +0 -87
- package/skills/story-telling/rules/pitfalls.md +0 -140
- package/skills/story-telling/rules/story-formats.md +0 -108
- package/skills/story-telling/rules/story-json.md +0 -143
- package/skills/story-telling/rules/voices.md +0 -114
- package/skills/story-telling/rules/workflow.md +0 -105
- package/skills/story-to-handdrawn-video/SKILL.md +0 -216
- package/skills/story-to-handdrawn-video/references/asset-workflow.md +0 -24
- package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +0 -27
- package/skills/su-card-to-video/SKILL.md +0 -103
- package/skills/talking-head-video-pipeline/SKILL.md +0 -224
- package/skills/talking-head-video-pipeline/examples/prompts.md +0 -217
- package/skills/talking-head-video-pipeline/references/asr-adapters.md +0 -51
- package/skills/talking-head-video-pipeline/references/caption-workflow.md +0 -53
- package/skills/talking-head-video-pipeline/references/export-recipes.md +0 -78
- package/skills/talking-head-video-pipeline/references/layout-safety.md +0 -49
- package/skills/talking-head-video-pipeline/references/video-use-integration.md +0 -71
- package/skills/talking-head-video-pipeline/references/workflows/captions.md +0 -52
- package/skills/talking-head-video-pipeline/references/workflows/design.md +0 -77
- package/skills/talking-head-video-pipeline/references/workflows/doctor.md +0 -51
- package/skills/talking-head-video-pipeline/references/workflows/export.md +0 -50
- package/skills/talking-head-video-pipeline/references/workflows/init.md +0 -51
- package/skills/talking-head-video-pipeline/references/workflows/learn.md +0 -36
- package/skills/text-to-lottie/SKILL.md +0 -202
- package/skills/text-to-lottie/references/chapterization-transition-grammar.md +0 -132
- package/skills/text-to-lottie/references/design-taste.md +0 -292
- package/skills/text-to-lottie/references/lottie-spec-map.md +0 -82
- package/skills/text-to-lottie/references/motion-taste.md +0 -260
- package/skills/text-to-lottie/references/player-contract.md +0 -325
- package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +0 -65
- package/skills/text-to-lottie/references/recipe-data-stats.md +0 -104
- package/skills/text-to-lottie/references/recipe-diagram-technical.md +0 -106
- package/skills/text-to-lottie/references/recipe-loaders-icons.md +0 -70
- package/skills/text-to-lottie/references/recipe-logo.md +0 -72
- package/skills/text-to-lottie/references/recipe-lower-thirds.md +0 -62
- package/skills/text-to-lottie/references/recipe-product-promo.md +0 -99
- package/skills/ultrademo/SKILL.md +0 -212
- package/skills/video-assemble/SKILL.md +0 -101
- package/skills/video-assemble-zenstory-ai/SKILL.md +0 -153
- package/skills/video-assemble-zenstory-ai/references/audio-modes.md +0 -63
- package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +0 -77
- package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +0 -14
- package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +0 -103
- package/skills/video-assemble-zenstory-ai/references/packaging.md +0 -44
- package/skills/video-assemble-zenstory-ai/references/source-score.md +0 -146
- package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +0 -202
- package/skills/video-editing/SKILL.md +0 -688
- package/skills/video-explainer/SKILL.md +0 -163
- package/skills/video-explainer/references/brief-to-script.md +0 -56
- package/skills/video-explainer/references/errors-and-privacy.md +0 -18
- package/skills/video-explainer/references/motion-storyboard.md +0 -82
- package/skills/video-explainer/references/render-and-verify.md +0 -62
- package/skills/video-explainer/references/review-gate.md +0 -82
- package/skills/video-explainer/references/setup-and-doctor.md +0 -33
- package/skills/video-script-builder/SKILL.md +0 -329
- package/skills/video-script-builder/examples/quick-start-transcript.md +0 -19
- package/skills/video-script-builder/references/audio-workflow.md +0 -84
- package/skills/video-script-builder/references/caption-components.md +0 -70
- package/skills/video-script-builder/references/common-pitfalls.md +0 -80
- package/skills/video-script-builder/references/component-catalog.md +0 -197
- package/skills/video-script-builder/references/component-recipes.md +0 -165
- package/skills/video-script-builder/references/gsap-patterns.md +0 -112
- package/skills/video-script-builder/references/pacing-rules.md +0 -78
- package/skills/video-script-builder/references/quality-checklist.md +0 -98
- package/skills/video-script-builder/references/remotion-patterns.md +0 -211
- package/skills/video-script-builder/references/shader-transitions.md +0 -115
- package/skills/video-script-builder/references/taste-principles.md +0 -160
- package/skills/video-scrub/SKILL.md +0 -216
- package/skills/video-scrub/references/profiles.md +0 -89
- package/skills/video-scrub/references/residue-map.md +0 -204
- package/skills/video-short-maker/SKILL.md +0 -182
- package/skills/video-shot-analysis-feishu/SKILL.md +0 -173
- package/skills/video-shotcraft/SKILL.md +0 -267
- package/skills/video-shotcraft/docs/deepseek-harness.md +0 -69
- package/skills/video-shotcraft/references/aesthetic-rules.md +0 -177
- package/skills/video-shotcraft/references/final-review.md +0 -112
- package/skills/video-shotcraft/references/guided-free-creation.md +0 -199
- package/skills/video-shotcraft/references/jianying-export.md +0 -182
- package/skills/video-shotcraft/references/music-beat-sync.md +0 -219
- package/skills/video-shotcraft/references/pipeline.md +0 -390
- package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +0 -50
- package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +0 -65
- package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +0 -37
- package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +0 -39
- package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +0 -38
- package/skills/video-shotcraft-vincentwei10/SKILL.md +0 -316
- package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +0 -187
- package/skills/video-shotcraft-vincentwei10/references/final-review.md +0 -116
- package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +0 -199
- package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +0 -183
- package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +0 -257
- package/skills/video-shotcraft-vincentwei10/references/pipeline.md +0 -401
- package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +0 -111
- package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +0 -50
- package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +0 -62
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +0 -41
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +0 -52
- package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +0 -39
- package/skills/video-structure-analyzer/SKILL.md +0 -148
- 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 +0 -50
- 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 +0 -19
- package/skills/video-toolkit/SKILL.md +0 -686
- package/skills/videocut/SKILL.md +0 -159
- package/skills/videodb/SKILL.md +0 -497
- package/skills/videodb/reference/api-reference.md +0 -741
- package/skills/videodb/reference/capture-reference.md +0 -399
- package/skills/videodb/reference/capture.md +0 -110
- package/skills/videodb/reference/editor-reference.md +0 -506
- package/skills/videodb/reference/editor.md +0 -389
- package/skills/videodb/reference/generative.md +0 -344
- package/skills/videodb/reference/indexing-reference.md +0 -481
- package/skills/videodb/reference/indexing.md +0 -537
- package/skills/videodb/reference/legacy/index-reference.md +0 -223
- package/skills/videodb/reference/legacy/index.md +0 -241
- package/skills/videodb/reference/legacy/search.md +0 -249
- package/skills/videodb/reference/migration.md +0 -113
- package/skills/vlog-auto-edit/SKILL.md +0 -982
- package/skills/vlog-auto-edit/examples/project_structure.md +0 -84
- package/skills/vox-animated-ad-mcp/SKILL.md +0 -419
- package/skills/vox-director/SKILL.md +0 -351
- package/skills/vox-director/references/beat-layer.md +0 -143
- package/skills/vox-director/references/host-mode.md +0 -120
- package/skills/vox-director/references/local-engine.md +0 -73
- package/skills/vox-director/references/models-and-gotchas.md +0 -91
- package/skills/vox-director/references/prompt-guide.md +0 -275
- package/skills/vox-director/references/voices.md +0 -59
- package/skills/xingchen-vox-collage/SKILL.md +0 -251
- package/skills/xingchen-vox-collage/references/asset-layer-contract.md +0 -98
- package/skills/xingchen-vox-collage/references/creative-exploration.md +0 -19
- package/skills/xingchen-vox-collage/references/learned-branches.md +0 -34
- package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +0 -77
- package/skills/xingchen-vox-collage/references/visual-language.md +0 -74
- package/skills/xingchen-vox-collage/references/visual-qa.md +0 -59
- package/skills/youtube/SKILL.md +0 -147
- package/skills/youtube/references/algorithm-guide.md +0 -59
- package/skills/youtube/references/analytics-benchmarks.md +0 -67
- package/skills/youtube/references/dataforseo-integration.md +0 -51
- package/skills/youtube/references/monetization-guide.md +0 -62
- package/skills/youtube/references/repurposing-guide.md +0 -54
- package/skills/youtube/references/retention-scripting-guide.md +0 -75
- package/skills/youtube/references/seo-playbook.md +0 -77
- package/skills/youtube/references/shorts-playbook.md +0 -64
- package/skills/youtube/references/thumbnail-ctr-guide.md +0 -73
- package/skills/youtube-shorts-factory/SKILL.md +0 -358
- package/skills/youtube-shorts-factory/resources/adaptation-guide.md +0 -133
- package/skills/youtube-shorts-factory/resources/storyboard-template.md +0 -271
- package/skills/youtube-shorts-factory/resources/workflow-steps.md +0 -139
- package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +0 -1
- package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +0 -2
- package/studio/ui/dist/assets/es-AqUfIkAy.js +0 -1
- package/studio/ui/dist/assets/index-C7moXjTY.css +0 -1
- package/studio/ui/dist/assets/index-DdU5QNpY.js +0 -1623
- package/studio/ui/dist/assets/ja-YwiCB4QQ.js +0 -1
- package/studio/ui/dist/assets/ko-CKtBPDze.js +0 -1
- package/studio/ui/dist/assets/zh-CN-DtNEwKWJ.js +0 -1
|
@@ -1,690 +0,0 @@
|
|
|
1
|
-
# Teknik — resep efek yang sudah teruji
|
|
2
|
-
|
|
3
|
-
Semua resep dinyatakan generik; angka adalah titik awal yang terbukti enak,
|
|
4
|
-
bukan hukum. Font, warna, dan konten selalu milik brand user.
|
|
5
|
-
|
|
6
|
-
## Daftar isi
|
|
7
|
-
|
|
8
|
-
1. Tipografi hidup (split per huruf, penekanan & sorotan opsional, arah bergantian) + 1b. Kontras latar
|
|
9
|
-
2. Motion blur berarah (pembeda utama dari "web animation")
|
|
10
|
-
3. Kamera: push-through (opsional, termotivasi)
|
|
11
|
-
3b. Ukuran shot: kamera ke elemen (wide ↔ medium close-up ↔ close-up)
|
|
12
|
-
4. Kamera: pan 3D menyusur kalimat per kata
|
|
13
|
-
4b. Transisi antar adegan — hierarki yang benar
|
|
14
|
-
5. Light leak transisi
|
|
15
|
-
6. Glow yang benar (dan kapan tidak)
|
|
16
|
-
7. Latar Three.js: nebula, debu, grid, ornamen 3D, bloom
|
|
17
|
-
7b–7d. Latar terang & pergantian, gerak latar, permukaan latar (termasuk grainy gradient)
|
|
18
|
-
7e. Menu gaya render objek (flat, clay, glossy, kaca, isometrik, emas, garis neon)
|
|
19
|
-
8. Tile ikon & mockup UI
|
|
20
|
-
9. Ketikan / angka hidup yang deterministik
|
|
21
|
-
9b. Video sebagai layer footage (clip, sinkron timeline, ekspor)
|
|
22
|
-
10. Jebakan (bug yang pernah terjadi)
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## 1. Tipografi hidup — resep yang berhasil vs yang gagal
|
|
27
|
-
|
|
28
|
-
Dua pola yang sering muncul. Opener A terasa kaku: setiap
|
|
29
|
-
judulnya KAPITAL SEMUA, satu font lebar bobot 800, selalu di tengah, masuk
|
|
30
|
-
dengan stagger huruf yang sama, tanpa penekanan apa pun, tanpa variasi ukuran.
|
|
31
|
-
Opener B terasa hidup: kalimat sentence case bobot 500, SATU kata kunci
|
|
32
|
-
per kalimat di dalam pill yang mengembang dari kiri + sparkle, tanda baca
|
|
33
|
-
muncul terpisah setelahnya, ukuran dan arah masuk bergantian tiap adegan,
|
|
34
|
-
sebagian kalimat diletakkan di dekat objeknya (bukan selalu di tengah), dan
|
|
35
|
-
adegan gelap bergantian dengan adegan terang. Resep B:
|
|
36
|
-
|
|
37
|
-
> **Peringatan bentuk.** Di opener B, sorotannya berupa pill biru yang
|
|
38
|
-
> mengembang dari kiri dengan bintang kecil (sparkle) di sudutnya. Itu
|
|
39
|
-
> TANDA TANGAN proyek itu, bukan aturan. Yang jadi aturan hanya: kalimat
|
|
40
|
-
> punya penekanan. Sorotan kata adalah SATU cara dan OPSIONAL — banyak opener
|
|
41
|
-
> yang baik tanpa sorotan sama sekali (kata per kata redup → penuh, ukuran,
|
|
42
|
-
> jeda, ikon/UI di samping kata). Bila dipakai, BENTUK dipilih di style brief
|
|
43
|
-
> dan konsisten dalam satu video, tidak wajib di setiap kalimat; ORNAMEN
|
|
44
|
-
> (bintang, titik, garis kilat) opsional dan diturunkan dari bentuk brand.
|
|
45
|
-
> Dua proyek berbeda dengan pill + bintang yang sama = menyalin kulit.
|
|
46
|
-
|
|
47
|
-
**Menu penekanan** (pilih satu per video; `tanpa` adalah pilihan sah):
|
|
48
|
-
|
|
49
|
-
| Varian | Rasa | Cocok untuk |
|
|
50
|
-
|---|---|---|
|
|
51
|
-
| `tanpa` — tidak ada bidang/garis; kata per kata redup → penuh, ukuran, jeda, atau ikon/UI di samping kata | tenang, produk yang bicara | SaaS, AI, brand minimal, pengumuman fitur |
|
|
52
|
-
| `pill` — blok warna mengembang dari kiri | tegas, produk digital | app, SaaS, tech |
|
|
53
|
-
| `under` — garis bawah tebal menggambar dari kiri | editorial, tenang | finansial, produktivitas, jurnalistik |
|
|
54
|
-
| `marker` — coretan stabilo miring, sedikit transparan | hangat, manusiawi | edukasi, komunitas, kuliner |
|
|
55
|
-
| `box` — kotak garis tipis menggambar keliling | teknis, presisi | developer tools, hardware |
|
|
56
|
-
| `color` — hanya warna kata berubah, tanpa bidang | mewah, minimal | fashion, properti, otomotif |
|
|
57
|
-
| `strike` — garis coret lalu kata pengganti muncul | ironis, sebelum/sesudah | promo "bukan X, tapi Y" |
|
|
58
|
-
|
|
59
|
-
**CSS**
|
|
60
|
-
```css
|
|
61
|
-
.line{font-size:112px;font-weight:500;letter-spacing:-.015em;color:#fff;white-space:nowrap;
|
|
62
|
-
text-shadow:0 4px 28px rgba(0,0,0,.5);line-height:1.1;opacity:0}
|
|
63
|
-
.line.sm{font-size:74px}.line.md{font-size:92px}.line.lg{font-size:128px}
|
|
64
|
-
.line.xl{font-size:150px;font-weight:600;letter-spacing:-.02em}
|
|
65
|
-
.line.ink{color:var(--ink-dark);text-shadow:none} /* versi untuk adegan terang */
|
|
66
|
-
.wd{display:inline-block;white-space:nowrap}
|
|
67
|
-
.ch{display:inline-block;will-change:transform,opacity,filter;opacity:0}
|
|
68
|
-
.txt2{display:inline-block;opacity:0} /* tanda baca OPSIONAL: hanya bila kalimat memang bertanda baca */
|
|
69
|
-
/* kata sorotan: .hl + satu varian bentuk; <i> adalah bidang/garis yang digambar */
|
|
70
|
-
.hl{position:relative;display:inline-block}
|
|
71
|
-
.hl i{position:absolute;transform:scaleX(0);transform-origin:0 50%}
|
|
72
|
-
.hl-t{position:relative;opacity:0}
|
|
73
|
-
.hl.pill{padding:.02em .24em .04em;border-radius:.26em}
|
|
74
|
-
.hl.pill i{inset:0;border-radius:inherit;background:linear-gradient(95deg,color-mix(in srgb,var(--accent) 70%,#000),var(--accent) 60%,var(--accent-lit))}
|
|
75
|
-
.hl.pill .hl-t{color:#fff}
|
|
76
|
-
.hl.under i{left:0;right:0;bottom:-.04em;height:.14em;border-radius:.07em;background:var(--accent)}
|
|
77
|
-
.hl.marker i{left:-.1em;right:-.1em;top:.5em;bottom:-.02em;background:var(--accent);opacity:.55;transform:scaleX(0) rotate(-1.5deg)}
|
|
78
|
-
.hl.box i{inset:-.06em -.14em;border:.04em solid var(--accent);border-radius:.12em;background:none}
|
|
79
|
-
.hl.color .hl-t{color:var(--accent)} /* tanpa <i> */
|
|
80
|
-
/* ornamen OPSIONAL — hanya bila bentuk brand memintanya; ganti path dengan bentuk brand */
|
|
81
|
-
.hl-orn{position:absolute;width:.46em;height:.46em;right:-.22em;top:-.24em;fill:var(--accent-lit);opacity:0}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
**Markup** — hanya `.txt` yang di-split per huruf; sorotan dan tanda baca
|
|
85
|
-
punya tween sendiri (contoh varian `under`, tanpa ornamen):
|
|
86
|
-
```html
|
|
87
|
-
<h1 class="line md"><span class="txt">Capek ngetik</span> <span class="hl under" id="hl-a"><i></i><span class="hl-t">caption</span></span> <span class="txt">satu-satu</span><span class="txt2">?</span></h1>
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**JS** — empat pintu masuk/keluar + pill + tanda baca:
|
|
91
|
-
```js
|
|
92
|
-
const inUp =(ch,el,at,{dur=.8,st=.024}={})=>{tl.fromTo(ch,{opacity:0,yPercent:60,scaleY:1.45},{opacity:1,yPercent:0,scaleY:1,duration:dur,ease:'power4.out',stagger:st,immediateRender:false},at);blurTween(tl,el,at,30,0,dur,VERT);};
|
|
93
|
-
const inLeft=(ch,el,at,{dur=.75,st=.02}={})=>{tl.fromTo(ch,{opacity:0,xPercent:-45},{opacity:1,xPercent:0,duration:dur,ease:'power4.out',stagger:st,immediateRender:false},at);blurTween(tl,el,at,50,0,dur,{ease:'power4.out'});};
|
|
94
|
-
const outUp =(ch,el,at,{dur=.4,st=.01}={})=>{tl.to(ch,{opacity:0,yPercent:-70,duration:dur,ease:'power2.in',stagger:st},at);blurTween(tl,el,at,0,45,dur+.1,{ease:'power2.in',...VERT});};
|
|
95
|
-
const outLeft=(ch,el,at,{dur=.4,st=.01}={})=>{tl.to(ch,{opacity:0,xPercent:-60,duration:dur,ease:'power2.in',stagger:st},at);blurTween(tl,el,at,0,55,dur+.1,{ease:'power2.in'});};
|
|
96
|
-
/* mark(): menggambar bidang/garis sorotan apa pun varian bentuknya, lalu memunculkan katanya; ornamen hanya bila ada */
|
|
97
|
-
const mark=(hl,at)=>{const i=$('i',hl);if(i)tl.fromTo(i,{scaleX:0},{scaleX:1,duration:.5,ease:'power3.out',immediateRender:false},at);
|
|
98
|
-
tl.fromTo($('.hl-t',hl),{opacity:0,yPercent:60},{opacity:1,yPercent:0,duration:.7,ease:'power4.out',immediateRender:false},at);
|
|
99
|
-
const orn=$('.hl-orn',hl);if(orn)tl.fromTo(orn,{opacity:0,scale:.2,rotate:-40},{opacity:1,scale:1,rotate:0,duration:.5,ease:'back.out(2)',immediateRender:false},at+.22);};
|
|
100
|
-
const popDot=(el,at)=>tl.fromTo(el,{opacity:0,yPercent:60},{opacity:1,yPercent:0,duration:.5,ease:'power4.out',immediateRender:false},at);
|
|
101
|
-
```
|
|
102
|
-
Urutan satu kalimat dengan sorotan: `inUp(ch)` → 0,4–0,6 dtk kemudian `mark(hl)` →
|
|
103
|
-
`popDot(txt2)` 0,25 dtk setelahnya — HANYA bila kalimatnya memang bertanda baca. Tanpa
|
|
104
|
-
sorotan: pintu teks saja (mis. per kata atau redup → penuh); hapus span `.hl`, dan hapus
|
|
105
|
-
`.txt2` bila kalimat tidak bertanda baca (default untuk judul dan klaim).
|
|
106
|
-
|
|
107
|
-
**Aturan keras tipografi (dari kegagalan A):**
|
|
108
|
-
1. Sentence case, bobot 500–600. KAPITAL SEMUA + bobot 800 + font lebar
|
|
109
|
-
hanya untuk SATU adegan penekanan, bukan semua.
|
|
110
|
-
2. Sorotan kata OPSIONAL — diputuskan di style brief, bukan bawaan. Bila
|
|
111
|
-
dipakai: bentuk dari menu di atas, satu bentuk per video, tidak wajib di
|
|
112
|
-
setiap kalimat, berbeda dari proyek sebelumnya; ornamen tidak default.
|
|
113
|
-
Bila tidak: penekanan dari urutan kata, ukuran/bobot, redup → penuh, jeda,
|
|
114
|
-
atau objek di samping kata. Yang ditolak tetap kalimat datar tanpa
|
|
115
|
-
penekanan apa pun.
|
|
116
|
-
3. Dua adegan berturut-turut tidak boleh sama dalam: ukuran (sm/md/lg/xl),
|
|
117
|
-
arah masuk (inUp/inLeft), posisi (tengah / dekat objek / kiri-atas).
|
|
118
|
-
4. Kalimat panjang dipecah dua baris dengan bobot berbeda (500 lalu 600),
|
|
119
|
-
atau baris kedua jadi `.txt2` yang pop menyusul.
|
|
120
|
-
5. Judul, klaim, dan frase pendek DEFAULT TANPA TITIK (terutama ≤ 4 kata atau satu
|
|
121
|
-
baris). Tanda baca hanya bila mengubah arti atau irama: `?` untuk pertanyaan
|
|
122
|
-
sungguhan, titik untuk gaya dua kalimat pendek berturut-turut yang disengaja, `!`
|
|
123
|
-
sangat jarang. Gayanya diputuskan sekali di style brief dan konsisten. Bila dipakai,
|
|
124
|
-
tanda baca adalah elemen terpisah yang muncul terakhir (`.txt2` + `popDot`) — tetapi
|
|
125
|
-
jangan menambah titik hanya karena resepnya punya `popDot`.
|
|
126
|
-
6. Teks yang menempel pada objek (mockup, kartu) diposisikan di sisinya
|
|
127
|
-
(`.pos` + left/top), bukan dipaksa ke tengah di atas objek.
|
|
128
|
-
|
|
129
|
-
## 1b. Kontras: latar tunduk pada teks
|
|
130
|
-
|
|
131
|
-
Contoh kegagalan: 96 batang cahaya putih dengan bloom aditif lebih
|
|
132
|
-
terang daripada judulnya → huruf putih kehilangan tepi dan latar terasa
|
|
133
|
-
ramai tanpa kontras. Aturan yang bisa diukur:
|
|
134
|
-
- **Kantong teks**: di area teks, luminance latar ≤ 25 % (gelap) untuk
|
|
135
|
-
teks putih, atau ≥ 80 % (terang) untuk teks ink. Bila latar ramai,
|
|
136
|
-
letakkan `.pocket` (radial-gradient gelap 55 % → transparan) di bawah
|
|
137
|
-
teks dan nyalakan bersama teksnya.
|
|
138
|
-
- **Elemen latar apa pun (partikel, bentuk, tekstur, garis)**: warna diambil dari palet sisi GELAP (bukan
|
|
139
|
-
putih), opacity ≤ .35 di dalam kantong teks, jumlah elemen terang yang
|
|
140
|
-
terlihat ≤ 40, ukuran kecil. Bloom threshold tinggi (≥ .55) dan hanya
|
|
141
|
-
untuk objek — bukan lapisan latar.
|
|
142
|
-
- **Uji cepat**: potret frame saat judul penuh, ubah ke grayscale; kalau
|
|
143
|
-
ada bagian latar seterang huruf, latar terlalu ramai. Kalau semua teks
|
|
144
|
-
disembunyikan latar harus terasa TENANG, bukan "menarik".
|
|
145
|
-
- **Irama gelap–terang**: selang-seling adegan gelap dan terang (mis. kartu
|
|
146
|
-
"kertas" terang dengan teks ink) — kontras antar adegan lebih kuat
|
|
147
|
-
daripada efek apa pun di dalam adegan.
|
|
148
|
-
|
|
149
|
-
## 2. Motion blur berarah — `feGaussianBlur` SVG
|
|
150
|
-
|
|
151
|
-
`filter: blur()` CSS mengabur ke segala arah → terlihat "tidak fokus".
|
|
152
|
-
Motion blur AE mengabur SEARAH gerak. `feGaussianBlur` menerima
|
|
153
|
-
`stdDeviation="x y"` terpisah:
|
|
154
|
-
|
|
155
|
-
```js
|
|
156
|
-
// buat <filter> sekali per tween, lebarkan kotaknya (default memotong ekor)
|
|
157
|
-
f.setAttribute('x','-70%'); f.setAttribute('y','-70%');
|
|
158
|
-
f.setAttribute('width','240%'); f.setAttribute('height','240%');
|
|
159
|
-
// tween nilai 30→0 saat masuk, 0→50 saat keluar; sumbu ikut arah gerak
|
|
160
|
-
blur.setAttribute('stdDeviation', `${v} ${v*0.08}`); // gerak horizontal
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
Pasang filter saat tween mulai, LEPAS saat selesai (`filter:'none'`) —
|
|
164
|
-
elemen yang terus memakai filter SVG dirasterisasi ulang tiap frame, mahal.
|
|
165
|
-
|
|
166
|
-
## 3. Kamera: push-through (opsional, termotivasi)
|
|
167
|
-
|
|
168
|
-
Salah satu transisi dari menu §4c — jatah ±1 per video, hanya bila ada alasan
|
|
169
|
-
(§4b), bukan transisi antar semua segmen. Tiga langkah pada rig `#world` (dunia utuh):
|
|
170
|
-
|
|
171
|
-
```js
|
|
172
|
-
const camThrough = (atCut, {push=2.0, from=1.5, inDur=.5, outDur=.95,
|
|
173
|
-
oOut='50% 50%', oIn='50% 50%'} = {}) => {
|
|
174
|
-
tl.set(rig, {transformOrigin:oOut}, atCut-inDur);
|
|
175
|
-
tl.to (rig, {scale:push, duration:inDur, ease:'power2.in'}, atCut-inDur);
|
|
176
|
-
tl.set(rig, {transformOrigin:oIn, scale:from}, atCut);
|
|
177
|
-
tl.to (rig, {scale:1, duration:outDur, ease:'power3.out'}, atCut);
|
|
178
|
-
};
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
- Dorong MASUK ke teks yang pergi (`power2.in` = makin cepat), cut,
|
|
182
|
-
tarik MUNDUR dari teks baru yang lahir oversized (`power3.out`).
|
|
183
|
-
- Lompatan scale di titik cut TIDAK terlihat karena terjadi saat frame
|
|
184
|
-
kosong / tertutup light leak — sengaja, ini teknik filmnya.
|
|
185
|
-
- `transformOrigin` menunjuk POSISI TEKS (tengah untuk hero; ~'50% 22%'
|
|
186
|
-
untuk adegan yang teksnya di atas) — zoom harus menuju subjek.
|
|
187
|
-
- Sinkron dengan kamera WebGL (`camZ`) menambah kedalaman, tapi rig DOM
|
|
188
|
-
yang membawa perasaan "kamera".
|
|
189
|
-
|
|
190
|
-
## 3b. Ukuran shot — kamera ke elemen (supaya tidak statis)
|
|
191
|
-
|
|
192
|
-
"Zoom in-out" dalam motion graphic berarti **pergantian ukuran shot**: kamera mendekat ke
|
|
193
|
-
satu elemen yang sedang bercerita, lalu mundur lagi. Napas kamera beberapa persen (§4b)
|
|
194
|
-
hampir tidak terlihat — itu lapisan dasar, bukan jawaban bila video terasa statis.
|
|
195
|
-
|
|
196
|
-
**Kosakata shot** (skala dihitung dari ukuran elemen, bukan angka tetap)
|
|
197
|
-
- **Wide** — seluruh komposisi terlihat; dipakai saat banyak elemen atau teks lebar perlu
|
|
198
|
-
dibaca bersama.
|
|
199
|
-
- **Medium close-up** — elemen utama beserta sedikit konteksnya; target mengisi kira-kira
|
|
200
|
-
sepertiga sampai setengah frame.
|
|
201
|
-
- **Close-up** — satu elemen atau detailnya mengisi sebagian besar frame; dipakai untuk
|
|
202
|
-
penekanan, momen aksi, atau detail kecil yang harus terbaca.
|
|
203
|
-
|
|
204
|
-
**Memilih target dan waktu**
|
|
205
|
-
- Titik fokus = pusat elemen yang *sedang* bercerita: teks yang baru muncul, benda yang
|
|
206
|
-
tiba, tombol yang diklik, detail yang disebut kalimat. Kamera menyambut, bukan mengejar.
|
|
207
|
-
- Shot berganti mengikuti ketukan isi. Pola yang umum: dekat ke elemen A → mundur ke wide
|
|
208
|
-
saat komposisi butuh seluruh frame → dekat ke elemen B. Variasikan ukuran; dua shot
|
|
209
|
-
dengan ukuran sama berturut-turut terasa datar.
|
|
210
|
-
- Dua tempo gerak: **perpindahan shot** (ringkas, ease in-out) dan **push pelan saat
|
|
211
|
-
menahan** (lambat, ease sine) supaya hold tidak mati.
|
|
212
|
-
- Di titik cut, kamera boleh langsung berada di close-up tanpa tween — adegan lahir dekat,
|
|
213
|
-
lalu mundur. Video pun boleh dibuka sudah dalam close-up.
|
|
214
|
-
- Penutup yang ditahan (logo, CTA) tetap diberi push pelan; jangan membeku.
|
|
215
|
-
- Hindari bolak-balik dekat–jauh lebih cepat daripada pembaca sempat membaca atau
|
|
216
|
-
melihat — terasa pusing. Teks muncul setelah kamera tiba, bukan di tengah perpindahan.
|
|
217
|
-
|
|
218
|
-
**Rig**
|
|
219
|
-
```js
|
|
220
|
-
const CAM = {s:1, fx:W/2, fy:H/2}; // skala + titik fokus (koordinat dunia)
|
|
221
|
-
const shot = (at, dur, s, fx, fy, ease='power2.inOut') => tl.to(CAM, {s, fx, fy, duration:dur, ease}, at);
|
|
222
|
-
const cutTo = (at, s, fx, fy) => tl.set(CAM, {s, fx, fy}, at); // lompat di titik cut
|
|
223
|
-
// ukuran dari elemen: fill ≈ bagian frame yang diisi target (close-up besar, medium close-up sedang)
|
|
224
|
-
const rectIn = (el, root) => { let x = 0, y = 0, n = el;
|
|
225
|
-
while (n && n !== root) { x += n.offsetLeft; y += n.offsetTop; n = n.offsetParent; }
|
|
226
|
-
return {x, y, w: el.offsetWidth, h: el.offsetHeight}; }; // elemen SVG: pakai getBBox()
|
|
227
|
-
const frameOn = (el, fill) => { const r = rectIn(el, world);
|
|
228
|
-
return [Math.max(1, Math.min(W * fill / r.w, H * fill / r.h)), r.x + r.w / 2, r.y + r.h / 2]; };
|
|
229
|
-
// di render(t):
|
|
230
|
-
function applyCam(t){
|
|
231
|
-
const s = CAM.s * (1 + .01 * Math.sin(t * .7)); // napas halus di atas shot (opsional)
|
|
232
|
-
let tx = W/2 - CAM.fx * s, ty = H/2 - CAM.fy * s;
|
|
233
|
-
tx = Math.min(0, Math.max(W - W * s, tx)); ty = Math.min(0, Math.max(H - H * s, ty)); // tepi dunia tak tersingkap
|
|
234
|
-
world.style.transform = `translate(${tx}px,${ty}px) scale(${s})`; }
|
|
235
|
-
// contoh: shot(T, .8, ...frameOn($('#judul'), .6)); shot(T + 2, .7, 1, W/2, H/2);
|
|
236
|
-
```
|
|
237
|
-
- Satu sistem skala per pembungkus: bila adegan memakai `shot()`, jangan sekaligus men-tween
|
|
238
|
-
`scale` pada `#world` dari `breathe()`/push-through; tumpuk napas di dalam `applyCam`.
|
|
239
|
-
Starter explainer sudah punya padanannya: `look()` = shot ke titik, `home()` = wide.
|
|
240
|
-
- Dunia/latar harus lebih luas dari frame (overscan) supaya klem tepi tidak mengunci shot.
|
|
241
|
-
|
|
242
|
-
**Lapisan**
|
|
243
|
-
- Elemen yang merupakan bagian dunia ikut zoom. Label, caption, dan antarmuka layar
|
|
244
|
-
diletakkan di lapisan layar (HUD) di luar rig, supaya tidak membesar atau terpotong tepi.
|
|
245
|
-
- Kamera lokal boleh dipasang per babak (mis. mendekat ke area klik, atau reveal yang
|
|
246
|
-
ditarik mundur dari skala besar) tanpa mengganggu kamera dunia. Getaran impact di
|
|
247
|
-
pembungkus terpisah.
|
|
248
|
-
|
|
249
|
-
**Periksa**
|
|
250
|
-
- Potret di puncak tiap shot: teks tidak terpotong tepi, tepi dunia tidak tersingkap.
|
|
251
|
-
- Aset raster cukup tajam untuk skala close-up (resolusi ≥ skala × ukuran tampil).
|
|
252
|
-
|
|
253
|
-
## 4. Pan 3D menyusur kalimat
|
|
254
|
-
|
|
255
|
-
Untuk 1 (maks 2) segmen istimewa: satu kalimat LEBIH LEBAR dari frame,
|
|
256
|
-
kamera menyusurinya, tiap kata bangun saat dilewati.
|
|
257
|
-
|
|
258
|
-
```js
|
|
259
|
-
// x menaruh pivot di tengah frame; xPercent (relatif lebar kalimat)
|
|
260
|
-
// membawa kamera — bebas dari lebar font aktual
|
|
261
|
-
tl.set(line, {x:W/2, xPercent:-6, rotateY:10}); // parent: perspective
|
|
262
|
-
tl.to (line, {xPercent:-94, duration:2.9, ease:'power1.inOut'});
|
|
263
|
-
tl.to (line, {rotateY:-10, duration:2.9, ease:'power1.inOut'});
|
|
264
|
-
// kata: dim → terang saat kamera lewat
|
|
265
|
-
tl.fromTo(words, {opacity:.2, yPercent:16, scale:.96},
|
|
266
|
-
{opacity:1, yPercent:0, scale:1, duration:.55, ease:'power2.out',
|
|
267
|
-
stagger: panDur/(nKata-1) * 0.95});
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
Kunci rasanya: kata di DEPAN kamera redup (~20%) menunggu, kata yang sudah
|
|
271
|
-
dilewati tetap terang; `rotateY` berayun (bukan statis) supaya terasa dolly
|
|
272
|
-
melengkung; kamera WebGL ikut geser `camX` searah untuk paralaks latar.
|
|
273
|
-
|
|
274
|
-
## 4b. Transisi antar adegan — hierarki yang benar
|
|
275
|
-
|
|
276
|
-
Dua jenis transisi yang terasa murahan: whip translasi (menyingkap gap
|
|
277
|
-
hitam, terbaca "pindah halaman"), dan spin/yaw/roll kejut (zoom tiba-tiba +
|
|
278
|
-
blur adalah bahasa preset editor video, bukan motion design). Urutan yang benar:
|
|
279
|
-
|
|
280
|
-
1. **Kamera bernapas** (fondasi, selalu aktif): rig dunia drift zoom pelan
|
|
281
|
-
`sine.inOut` ±4-5% per adegan, arah bergantian, dirantai tanpa lompatan.
|
|
282
|
-
Kamera tidak pernah diam dan tidak pernah menyentak. Napas ini hanya lapisan
|
|
283
|
-
dasar — tidak terbaca sebagai "zoom in-out"; untuk itu pakai ukuran shot (§3b).
|
|
284
|
-
2. **Koreografi elemen beririsan**: elemen adegan lama keluar (cepat,
|
|
285
|
-
`power2.in`, blur berarah) SAMBIL elemen adegan baru masuk — irisan
|
|
286
|
-
waktunya yang membuat perpindahan terasa hidup, bukan efek kameranya.
|
|
287
|
-
3. **Object wipe**: ornamen (bintang/bentuk brand) menyapu DEKAT lensa dan
|
|
288
|
-
menutup frame tepat di titik cut; adegan berganti di baliknya. Resep:
|
|
289
|
-
posisi z ≈ (camZ - 3), scale dunia ~2× tinggi-frame-pada-jarak-itu,
|
|
290
|
-
lintasan diagonal `power1.inOut` ~1 detik, puncak skala tepat di cut,
|
|
291
|
-
arah bergantian antar pemakaian. Awas tween lama yang masih menulis
|
|
292
|
-
properti ornamen yang sama — ia membunuh wipe (cek overlap waktu).
|
|
293
|
-
4. **Zoom termotivasi**: push-through sebagai TRANSISI (jatah ±1 per video) HANYA
|
|
294
|
-
bila ada alasannya — menyelam ke layar mockup, masuk ke lubang logo. Zoom tanpa
|
|
295
|
-
motivasi terasa efek kejut. Jatah ini khusus zoom transisi: kamera yang mendekat
|
|
296
|
-
ke area UI yang sedang diklik lalu mundur lagi adalah bahasa demo, bukan efek
|
|
297
|
-
kejut, dan tidak dihitung jatah (§8 "Kamera mengikuti interaksi UI").
|
|
298
|
-
|
|
299
|
-
Element-driven exit tetap resep bagus: elemen lama terbang MELEWATI lensa
|
|
300
|
-
(scale ~2.2 + blur + stagger), kamera cuma menyusul halus (tanpa lompatan).
|
|
301
|
-
|
|
302
|
-
### 4c. Menu transisi — bukan balok persegi yang menyapu
|
|
303
|
-
|
|
304
|
-
Kegagalan yang umum: "object wipe" berupa balok warna datar raksasa yang
|
|
305
|
-
melintas miring terasa aneh dan murah, dan mudah terulang bila contoh menyebut
|
|
306
|
-
wipe objek lebih dulu. Opener yang berhasil memakai kedalaman: push-through 3D, kartu kaca yang berputar masuk, tile
|
|
307
|
-
yang `rotateY` dari kedalaman, elemen yang melewati lensa dengan ketebalan.
|
|
308
|
-
Pilih dari menu ini; dalam satu video minimal DUA jenis, minimal SATU yang
|
|
309
|
-
berkedalaman (3D/perspektif), dan wipe paling banyak dua kali:
|
|
310
|
-
|
|
311
|
-
| # | Transisi | Cara | Rasa |
|
|
312
|
-
|---|---|---|---|
|
|
313
|
-
| 1 | Push-through 3D | `camThrough` + lapisan dengan `translateZ` berbeda (perspective 1400px) sehingga lapisan depan lewat lebih cepat | menyelam ke dunia |
|
|
314
|
-
| 2 | Kartu/objek berputar masuk (`rotateY` −35° → 0, `perspective`) | objek berikutnya datang dari kedalaman sambil berputar, yang lama pergi sebaliknya | premium, taktil |
|
|
315
|
-
| 3 | Objek melewati lensa dengan KETEBALAN | logo ekstrusi/kartu kaca/tile 3D (bukan persegi datar) membesar 1 → 2,5×, blur berarah, frame tertutup sesaat | sinematik |
|
|
316
|
-
| 4 | Sapuan cahaya (light leak / bloom through) | cahaya menutup 40–60 % frame di titik cut, bukan 100 % | lembut |
|
|
317
|
-
| 5 | Mask reveal lewat bentuk brand | adegan baru terlihat lewat lubang berbentuk logo/huruf yang membesar (`clip-path`/`mask`) | brand kuat |
|
|
318
|
-
| 6 | Whip dengan blur berarah | dunia bergeser 120–200 px + blur 18 px, 0,3 dtk, ke arah yang berganti | energik |
|
|
319
|
-
| 7 | Rack focus / kedalaman | adegan lama diblur & diperkecil ke belakang, adegan baru tajam dari depan | naratif |
|
|
320
|
-
| 8 | Koreografi beririsan tanpa cut | elemen lama keluar cepat sementara elemen baru sudah masuk; kamera bernapas terus | mengalir |
|
|
321
|
-
| 9 | Ganti latar di balik #1–#5 | pergantian gelap↔terang/blok warna terjadi saat frame tertutup | segmen baru |
|
|
322
|
-
|
|
323
|
-
Ditolak sebagai default: persegi/balok warna datar yang menyapu penuh
|
|
324
|
-
frame, garis tipis menyapu, dan satu jenis transisi yang diulang di semua
|
|
325
|
-
cut. Wipe boleh hanya bila objeknya bermakna dan punya kedalaman (kartu
|
|
326
|
-
kaca, logo ekstrusi, tile), bukan bidang datar.
|
|
327
|
-
|
|
328
|
-
Transisi tanpa cut yang dibawa objek (benda adegan baru menjadi wipe, keluar dari
|
|
329
|
-
layar, match cut bentuk + ganti gaya render, tarik mundur menyingkap tujuan, tangan
|
|
330
|
-
penjemput, menembus simbol, parade mendorong, putar tipis → kartu warna membuka,
|
|
331
|
-
halaman naik bertumpuk, titik tumbuh, wadah mekar/menyusut, hasil menjauh jadi
|
|
332
|
-
kalimat, zoom ke potongan UI, meredup lalu berganti, hapus-ketik) ada di `opener-konsep.md` → "Menu transisi yang
|
|
333
|
-
dibawa benda". Medan warna palet yang MENJADI latar babak berikutnya — logo tetap di
|
|
334
|
-
tempat dan berbalik warna di garis medan — bukan balok dekoratif yang lewat: boleh,
|
|
335
|
-
paling banyak dua kali per video.
|
|
336
|
-
|
|
337
|
-
## 5. Light leak transisi
|
|
338
|
-
|
|
339
|
-
Bukan garis cahaya menyapu (terlihat murahan), tapi bola cahaya lembut yang
|
|
340
|
-
merembes dari tepi, bergantian kiri/kanan:
|
|
341
|
-
|
|
342
|
-
- div bulat ±2400px, radial-gradient inti terang → transparan, `blur(64px)`,
|
|
343
|
-
`mix-blend-mode:screen`, **di lapisan PALING ATAS** (di atas vignette;
|
|
344
|
-
ia cahaya di depan lensa, bukan properti dunia)
|
|
345
|
-
- masuk `sine.in` 40% durasi → keluar `sine.out` 60%; drift diagonal pelan
|
|
346
|
-
- warnai sesuai aksen brand
|
|
347
|
-
|
|
348
|
-
## 6. Glow yang benar
|
|
349
|
-
|
|
350
|
-
Pelajaran yang mahal: **glow di semua judul = teks kusam dan norak**.
|
|
351
|
-
|
|
352
|
-
- Judul: putih penuh + `text-shadow: 0 4px 28px rgba(0,0,0,.5)` saja
|
|
353
|
-
(drop shadow keterbacaan, bukan glow).
|
|
354
|
-
- Glow disimpan untuk OBJEK produk: tile/kartu (rim border terang + inner glow
|
|
355
|
-
naik dari bawah), mockup, ornamen, bar spektrum — objek yang memang ada di konsep.
|
|
356
|
-
- Elemen realistis (baris app store, tombol) TANPA glow sama sekali —
|
|
357
|
-
makin realistis elemennya, makin salah glow-nya.
|
|
358
|
-
- Bloom WebGL: `threshold ≥ 0.5`. Threshold rendah membuat latar ikut mekar
|
|
359
|
-
dan seluruh frame putih (sudah pernah terjadi).
|
|
360
|
-
|
|
361
|
-
## 7. Latar Three.js
|
|
362
|
-
|
|
363
|
-
Lapisan dari belakang ke depan, semua diikat `state`:
|
|
364
|
-
|
|
365
|
-
- **Nebula**: plane fbm-noise shader, `NormalBlending` (JANGAN additive —
|
|
366
|
-
menumpuk lewat bloom → putih), gradasi vertikal: `exp(-((y-0.02)*3.4)^2)`
|
|
367
|
-
menyalakan horizon, atas diredupkan ~70%. Ini penangkal "latar flat".
|
|
368
|
-
- **Debu**: 1000–1500 `Points`, ukuran ∝ 1/z, kelip via sinus per-seed.
|
|
369
|
-
- **Grid lantai**: shader `fwidth`-antialiased, fade JAUH sebelum horizon
|
|
370
|
-
(garis yang bertemu di horizon menumpuk jadi pita terang memotong teks);
|
|
371
|
-
opasitas per adegan 0.2–0.6, jangan lebih.
|
|
372
|
-
- **Ornamen 3D** (bintang ✦, bentuk brand): `Shape` + kurva cekung →
|
|
373
|
-
`ExtrudeGeometry` + bevel, `MeshStandardMaterial` + DirectionalLight —
|
|
374
|
-
Basic material terlihat flat, dan flat = PPT. Goyangkan sumbu Y dengan
|
|
375
|
-
sinus ±0.55 rad, JANGAN putar penuh (benda pipih dilihat dari samping =
|
|
376
|
-
sebatang garis). Satu ornamen "hero" melintas cepat saat transisi.
|
|
377
|
-
- **Tunnel/rush**: partikel PENDEK (len 0.8–2.5), warna gelap-sedang,
|
|
378
|
-
≤300 buah, opasitas ≤0.6 — versi garis panjang putih terlalu ramai
|
|
379
|
-
dan membuat teks tidak kontras.
|
|
380
|
-
- **Bloom**: `UnrealBloomPass(strength .75–.95, radius .7, threshold .52)`,
|
|
381
|
-
+ denyut kecil mengikuti beat.
|
|
382
|
-
- **Kamera WebGL**: dolly `camZ` per adegan + handheld sway sinus lambat +
|
|
383
|
-
shake beat via sinus frekuensi tinggi.
|
|
384
|
-
|
|
385
|
-
Gradient tambahan yang murah: div `mix-blend-mode:screen` berisi
|
|
386
|
-
radial-gradient aksen di bawah-tengah, DI DALAM rig `#world`.
|
|
387
|
-
|
|
388
|
-
## 7b. Latar terang & pergantian latar antar adegan
|
|
389
|
-
|
|
390
|
-
Latar WebGL gelap di §7 hanya satu bahasa. Salah satu opener yang diterima
|
|
391
|
-
berganti latar mengikuti segmennya: dasar gelap untuk masalah → terang
|
|
392
|
-
untuk solusi → kembali gelap untuk penekanan → blok warna untuk CTA. Itu
|
|
393
|
-
CONTOH, bukan templat: terang bisa gradien lembut dua warna palet, warna
|
|
394
|
-
pastel flat dengan blob, blok warna solid, kertas bertekstur, atau foto
|
|
395
|
-
dengan gradasi. Resep versi terang (kertas dan gradien memakai CSS yang
|
|
396
|
-
sama, cukup ganti `background`):
|
|
397
|
-
|
|
398
|
-
```css
|
|
399
|
-
.paper{position:absolute;inset:0;opacity:0;visibility:hidden;
|
|
400
|
-
background:linear-gradient(180deg,#F7FAFF 0%,#EEF4FF 55%,#E6EEFF 100%)}
|
|
401
|
-
.paper .b{position:absolute;border-radius:50%;pointer-events:none} /* blob warna lembut, ikut palet */
|
|
402
|
-
.paper .b1{left:-260px;top:-380px;width:1100px;height:1100px;background:radial-gradient(circle,color-mix(in srgb,var(--accent-lit) 38%,#fff) 0%,transparent 68%)}
|
|
403
|
-
.paper .b2{left:1180px;top:520px;width:1000px;height:1000px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,#fff) 0%,transparent 66%)}
|
|
404
|
-
.line.ink{color:#0B1B33;text-shadow:none} /* teks untuk latar terang */
|
|
405
|
-
```
|
|
406
|
-
```js
|
|
407
|
-
/* ganti latar DI BALIK cut/wipe: frame sedang tertutup, lompatan tak terlihat */
|
|
408
|
-
tl.set('#paper',{autoAlpha:1},atCut); tl.to('#gl',{opacity:0,duration:.25},atCut);
|
|
409
|
-
tl.to('.vignette',{opacity:.35,duration:.4},atCut); tl.to('.bgfx',{opacity:0,duration:.25},atCut);
|
|
410
|
-
tl.to('.paper .b',{x:60,y:-40,duration:3,ease:'sine.inOut',yoyo:true,repeat:1,stagger:.4},atCut); // blob hidup
|
|
411
|
-
/* di t=0 (loop): kembalikan semuanya */
|
|
412
|
-
tl.set('#paper',{autoAlpha:0},0); tl.set(['#gl','.vignette','.bgfx'],{opacity:1},0);
|
|
413
|
-
```
|
|
414
|
-
Kapan berganti: kapan pun dibutuhkan, direncanakan di style brief — mood
|
|
415
|
-
atau topik segmen berubah (masalah → solusi, klaim → produk, isi → CTA),
|
|
416
|
-
brand warna-warni menuntut ritme warna (medan warna palet bergantian), atau
|
|
417
|
-
aksi di layar mengubahnya (toggle dinyalakan, benda menutup lensa, ikon
|
|
418
|
-
membesar memenuhi frame). Bumper pendek atau opener satu mood boleh satu
|
|
419
|
-
warna latar, tetapi latar itu tetap BERGERAK (§7c) — latar diam ditolak.
|
|
420
|
-
Yang tidak sah: latar yang tidak pernah dipertimbangkan (gelap otomatis
|
|
421
|
-
karena starter-nya gelap) dan pergantian tanpa pemicu. Bila berganti: di
|
|
422
|
-
titik cut/ketukan, di balik wipe/benda (camThrough/wipe/leak), atau sebagai
|
|
423
|
-
akibat aksi di layar — tidak pernah cross-fade tanpa sebab; teks ganti
|
|
424
|
-
varian (`.ink`) dan kantong gelap (`.pocket`) dimatikan di adegan terang;
|
|
425
|
-
vignette diringankan (0,3–0,4), bloom WebGL dimatikan. Gradien terang
|
|
426
|
-
contoh: `background:linear-gradient(160deg,color-mix(in srgb,var(--accent-lit) 30%,#fff),#fff 55%,color-mix(in srgb,var(--accent) 14%,#fff))`.
|
|
427
|
-
|
|
428
|
-
## 7c. Menu gerak latar — "gerak tiap detik" bukan berarti benda melintas
|
|
429
|
-
|
|
430
|
-
Kegagalan yang umum: opener untuk produk berbeda sama-sama memakai
|
|
431
|
-
batang/potongan cahaya yang melesat ke samping, karena aturan "gerak harus
|
|
432
|
-
ada di dunia (objek melintas) tiap detik" dibaca sempit — model memilih cara
|
|
433
|
-
termurah lalu mencari alasannya dari produk. Gerak latar dipilih di style brief dari
|
|
434
|
-
menu ini, dan harus berbeda dari proyek sebelumnya:
|
|
435
|
-
|
|
436
|
-
| # | Bahasa gerak latar | Rasa | Catatan |
|
|
437
|
-
|---|---|---|---|
|
|
438
|
-
| 1 | Latar bertekstur + kamera bernapas + satu gerak halus (tint/cahaya/grain bergeser pelan) | tenang, mahal | pilihan paling tenang yang masih sah; latar yang benar-benar diam ditolak |
|
|
439
|
-
| 2 | Gradien besar yang berpindah/berputar pelan (2–3 warna palet) | lembut, modern | `background-position`/sudut di-tween 8–15 dtk |
|
|
440
|
-
| 3 | Blob warna mengambang (2–4 lingkaran blur) | ramah, ringan | ikut palet; drift ±60 px, 4–6 dtk |
|
|
441
|
-
| 4 | Grain/tekstur kertas yang hidup (offset mask per frame dari t) | organik, cetak | jangan noise acak — offset dari `t` |
|
|
442
|
-
| 5 | Sapuan cahaya SEKALI per segmen (light sweep) | premium | bukan sapuan terus-menerus |
|
|
443
|
-
| 6 | Bentuk geometris besar (lingkaran/garis/logo negatif) berputar 20–40 dtk per putaran, 2 lapis parallax | brand, kuat | bentuk dari logo/tema |
|
|
444
|
-
| 7 | Partikel NAIK pelan (debu, gelembung, percik) | hangat, hidup | bukan horizontal; opacity ≤ .35 di kantong teks |
|
|
445
|
-
| 8 | Grid/pola yang bernapas (skala/opacity 1.0↔1.04, 6–10 dtk) | teknis, presisi | tanpa scroll |
|
|
446
|
-
| 9 | Teks hantu raksasa bergeser lambat di belakang | editorial | kontras rendah ≥ .12, satu gaya |
|
|
447
|
-
| 10 | Foto/ilustrasi tema dengan Ken Burns + parallax 2 lapis | naratif | butuh gradasi gelap di sisi teks |
|
|
448
|
-
| 11 | Aliran horizontal (streak/lane/range/hujan partikel) | kecepatan, data | HANYA bila tema = kecepatan/aliran; sudah dipakai dua proyek berturut → hindari kecuali dengan cara yang jelas baru |
|
|
449
|
-
| 12 | Medan warna palet bergantian (sapuan/snap 0,15–0,3 dtk, dipicu benda, aksi UI, atau ketukan) | pop, energik | untuk brand warna-warni; tiap medan diisi bentuk flat/objek yang bergerak |
|
|
450
|
-
|
|
451
|
-
Aturan: satu bahasa per opener (boleh dua bila latar berganti antar
|
|
452
|
-
segmen), ditulis di style brief pada baris "gerak latar", terpisah dari
|
|
453
|
-
"tanda tangan gerak" (yang menggerakkan OBJEK/teks, bukan latar). Menu ini
|
|
454
|
-
juga berlaku untuk latar WebGL §7: nebula yang berdrift pelan + kamera bernapas
|
|
455
|
-
adalah #1, debu naik adalah #7; "tunnel/rush" adalah #11. Latar tidak pernah
|
|
456
|
-
diam di adegan mana pun; pergantian warna latar (§7b) boleh ditambahkan di atas
|
|
457
|
-
bahasa gerak mana pun.
|
|
458
|
-
|
|
459
|
-
## 7d. Menu permukaan latar — gradien, cahaya, tekstur (jangan flat)
|
|
460
|
-
|
|
461
|
-
"Gelap ≤ 25 % / terang ≥ 80 % di bawah teks" adalah aturan KANTONG TEKS,
|
|
462
|
-
bukan perintah membuat seluruh latar flat satu warna. Opener yang diterima
|
|
463
|
-
memakai latar yang kaya: gelap dengan glow radial di horizon, terang dengan
|
|
464
|
-
gradien lembut dan blob warna palet. Menu (semua dari token palet; nilai
|
|
465
|
-
bebas diubah):
|
|
466
|
-
|
|
467
|
-
```css
|
|
468
|
-
/* a. glow horizon (gelap) */ background:radial-gradient(70% 42% at 50% 108%,color-mix(in srgb,var(--accent) 34%,transparent),color-mix(in srgb,var(--accent) 12%,transparent) 48%,transparent 70%),linear-gradient(180deg,#05060a,var(--base) 60%,#0b1020);
|
|
469
|
-
/* b. duotone diagonal */ background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 55%,#000) 0%,var(--base) 45%,color-mix(in srgb,var(--accent-lit) 30%,#000) 100%);
|
|
470
|
-
/* c. mesh terang (blob) */ background:#F7FAFF; + 3–4 <i> radial-gradient(circle,color-mix(in srgb,var(--accent-lit) 38%,#fff),transparent 66%) berukuran 800–1200 px, drift ±60 px
|
|
471
|
-
/* d. spotlight + tint */ background:radial-gradient(55% 60% at 50% 40%,color-mix(in srgb,var(--accent) 18%,var(--base)),var(--base) 75%);
|
|
472
|
-
/* e. langit berlapis */ background:linear-gradient(180deg,#cfe0f5 0%,#f5efe3 100%); + pita warna tipis 2–3 lapis dengan opacity .2–.4
|
|
473
|
-
/* f. tekstur + tint */ kertas/grain (feTurbulence) di atas a/b/c dengan mix-blend-mode:multiply/overlay, opacity .1–.3
|
|
474
|
-
/* g. grainy gradient */ gradien jenuh 2–3 warna di BENTUK dan latar + lapisan butiran halus di atas semuanya (resep di bawah)
|
|
475
|
-
```
|
|
476
|
-
Aturan: flat satu warna hanya untuk arah "poster color-block" (diberi
|
|
477
|
-
grain/tekstur halus) dan "flat pop berfoto" (medan flat sah karena berganti
|
|
478
|
-
cepat dan selalu diisi bentuk flat/objek yang bergerak). Setiap latar punya ≥ 2 lapis (dasar + cahaya/
|
|
479
|
-
tekstur/blob). Warna latar dari palet tema, bukan hitam/putih murni.
|
|
480
|
-
|
|
481
|
-
### Grainy gradient (gradien berbutir)
|
|
482
|
-
|
|
483
|
-
Istilah populernya *grainy gradient* atau *noisy gradient*: gradien warna jenuh yang
|
|
484
|
-
lembut ditambah butiran halus merata. Butiran membuat gradien terasa cetak/analog, dan
|
|
485
|
-
sekaligus menjadi dither yang mencegah banding (garis tangga) saat video dikompres.
|
|
486
|
-
|
|
487
|
-
**Ciri gaya**
|
|
488
|
-
- Gradien diletakkan DI BENTUK, bukan hanya di latar: lingkaran, lengkung, lubang,
|
|
489
|
-
kelopak, lapisan konsentris. Tiap bentuk bercahaya dari dalam lalu memudar ke warna
|
|
490
|
-
dalam/gelap; tepinya tetap tajam, isinya lembut.
|
|
491
|
-
- Palet 2–3 warna yang berjauhan (mis. biru ↔ oranye, teal ↔ krem, ungu ↔ merah muda) di
|
|
492
|
-
atas dasar gelap atau warna dalam.
|
|
493
|
-
- Butiran monokrom halus di seluruh frame (latar DAN objek), intensitas sama di terang
|
|
494
|
-
dan gelap — bukan bintik besar, bukan debu.
|
|
495
|
-
- Gerak tenang: lapisan membuka/berputar pelan, kamera menembus lubang bentuk, satu bola
|
|
496
|
-
cahaya kecil memandu mata.
|
|
497
|
-
|
|
498
|
-
**Resep**
|
|
499
|
-
```html
|
|
500
|
-
<svg width="0" height="0" style="position:absolute"><filter id="grain" x="0" y="0" width="100%" height="100%">
|
|
501
|
-
<feTurbulence type="fractalNoise" baseFrequency=".8" numOctaves="3" stitchTiles="stitch"/>
|
|
502
|
-
<feColorMatrix type="saturate" values="0"/></filter></svg>
|
|
503
|
-
<div class="grain" id="grain"></div> <!-- lapisan teratas, di atas latar dan objek -->
|
|
504
|
-
```
|
|
505
|
-
```css
|
|
506
|
-
.shape{background:radial-gradient(60% 60% at 50% 30%,var(--c-lit),var(--c-mid) 45%,var(--c-deep) 100%)}
|
|
507
|
-
.grain{position:absolute;inset:-60px;pointer-events:none;filter:url(#grain);opacity:.22;mix-blend-mode:overlay}
|
|
508
|
-
```
|
|
509
|
-
```js
|
|
510
|
-
/* butiran hidup yang deterministik: posisi melompat 12× per detik dari t, bukan Math.random */
|
|
511
|
-
const grainAt=t=>{const k=Math.floor(t*12);grainEl.style.transform=`translate(${k*37%60-30}px,${k*61%60-30}px)`;};
|
|
512
|
-
```
|
|
513
|
-
- Latar gelap: overlay/soft-light, opacity .15–.3. Latar terang: multiply, opacity .08–.15.
|
|
514
|
-
- `baseFrequency` .65–.9 pada 1920×1080 memberi butiran 1–2 px; lebih halus dari itu
|
|
515
|
-
hilang saat encode.
|
|
516
|
-
- WebGL: tambahkan di akhir fragment shader
|
|
517
|
-
`col += (hash(gl_FragCoord.xy + floor(uTime*12.)) - .5) * .06;` — lebih ringan daripada
|
|
518
|
-
filter SVG layar penuh.
|
|
519
|
-
- Preview real-time berat dengan filter SVG layar penuh: buat sekali tile noise 256 px di
|
|
520
|
-
canvas lalu pakai sebagai `background-image` berulang. Untuk render per frame keduanya aman.
|
|
521
|
-
|
|
522
|
-
**Jaga-jaga**
|
|
523
|
-
- Butiran dan gradien halus rusak oleh kompresi: encode dengan `-crf 10–12 -tune grain`
|
|
524
|
-
(libx264) atau bitrate tinggi, lalu periksa MP4-nya — bukan hanya browser. Video yang
|
|
525
|
-
diunggah ulang di resolusi rendah kehilangan butiran dan memperlihatkan banding; butiran
|
|
526
|
-
yang sedikit lebih besar lebih tahan.
|
|
527
|
-
- Kantong teks tetap diuji kontras; teks kecil boleh diletakkan di atas lapisan grain supaya
|
|
528
|
-
hurufnya tidak tampak kotor.
|
|
529
|
-
- Grainy gradient adalah kulit, bukan kerangka: konsep dan transisi tetap dari
|
|
530
|
-
`opener-konsep.md`.
|
|
531
|
-
|
|
532
|
-
## 7e. Menu gaya render objek — satu keluarga per video
|
|
533
|
-
|
|
534
|
-
Objek (ikon, benda, maskot, perangkat) bisa dirender dengan banyak bahasa material.
|
|
535
|
-
Pilih satu keluarga per video, atau dua bila pergantiannya dijadikan momen (bentuk flat
|
|
536
|
-
berputar dan ternyata benda 3D). Mencampur tanpa alasan terasa seperti kumpulan aset stok.
|
|
537
|
-
|
|
538
|
-
| Gaya render | Ciri | Cara di web | Cocok untuk |
|
|
539
|
-
|---|---|---|---|
|
|
540
|
-
| Flat solid | isi warna rata, tanpa bayangan, bentuk geometris | SVG/CSS | app konsumen, edukasi, infografik |
|
|
541
|
-
| Flat + titik warna | lingkaran palet berbagai ukuran tersebar, bergerak elastis di sekitar objek | SVG + GSAP | brand ceria, logo reveal |
|
|
542
|
-
| Soft 3D / clay | matte pastel, sudut membulat tebal, bayangan lembut | Three.js `MeshStandardMaterial` roughness .7–.9, atau gambar hasil generator | fintech ramah, edukasi, produktivitas |
|
|
543
|
-
| Glossy 3D | plastik mengilap, rim light, pantulan lingkungan | `MeshPhysicalMaterial` clearcoat 1 + envMap | tech, keamanan, gaming |
|
|
544
|
-
| Kaca / bola bercahaya | transparan, pembiasan, inti bercahaya | `MeshPhysicalMaterial` transmission 1 + bloom kecil | AI, portal, pemandu mata |
|
|
545
|
-
| Isometrik | sudut 30°, tanpa perspektif, blok rapi | transform isometri CSS atau kamera ortografik | properti, SaaS, peta proses |
|
|
546
|
-
| Logam/marmer realistis | PBR, kedalaman bidang, gelap sinematik | Three.js PBR + HDRI + DOF, atau render/generator diimpor sebagai lapisan | penghargaan, mewah, event |
|
|
547
|
-
| Garis neon di gelap | outline tipis bercahaya, lengkung/bingkai berlapis | SVG stroke + glow tipis, atau garis Three.js | tech, musik, portal |
|
|
548
|
-
| Ilustrasi karakter flat | tokoh vektor, warna hangat, tekstur tipis | SVG/PNG berlapis | komunitas, layanan, explainer |
|
|
549
|
-
|
|
550
|
-
- Objek realistis (logam, marmer, perangkat) paling efisien dibuat sebagai gambar/video dari
|
|
551
|
-
generator atau render 3D, lalu dianimasikan sebagai lapisan (parallax, masuk/keluar, DOF
|
|
552
|
-
palsu) — jangan memaksa Three.js bila hasilnya jauh di bawah.
|
|
553
|
-
- Gaya render ditulis di style brief dan berbeda dari proyek sebelumnya.
|
|
554
|
-
|
|
555
|
-
## 8. Tile ikon & mockup UI
|
|
556
|
-
|
|
557
|
-
**Tile ikon** (SATU opsi menyajikan fitur, bukan default — menu lengkap di
|
|
558
|
-
`opener-konsep.md`; jumlah mengikuti fitur, tidak selalu tiga): rounded-square ±210px, rim border
|
|
559
|
-
aksen terang 2px, inner glow naik dari bawah (radial di 50% 115%), ikon
|
|
560
|
-
stroke putih 3.5–4.5 + `drop-shadow`, label 1–2 kata di bawah. Masuk
|
|
561
|
-
`back.out(1.9)` stagger 0.15.
|
|
562
|
-
|
|
563
|
-
**Mockup UI**: bezel `border-radius` besar + layar `overflow:hidden`;
|
|
564
|
-
isi mockup memakai FONT & WARNA PRODUK ASLI (bukan font display) — mockup
|
|
565
|
-
dinilai sebagai "aplikasinya", bukan dekorasi. Elemen hidup di dalamnya
|
|
566
|
-
(spektrum, angka, sparkline) digerakkan dari sumber data yang sama dengan
|
|
567
|
-
latar 3D supaya konsisten. Masuk sebagai OBJEK (naik dari bawah frame,
|
|
568
|
-
rotateY ±10–24° dengan parent `perspective`), bukan sebagai kolom layout.
|
|
569
|
-
|
|
570
|
-
**Animasi UI app/SaaS** — UI dirakit dari komponen, dipakai (kursor/jari/aksi UI), data
|
|
571
|
-
hidup, dan transisi yang dibawa UI (panel mekar, lencana menyusut, karusel jendela):
|
|
572
|
-
panduan layout-warna-ritme dan menu gerak di `opener-konsep.md` bagian "Animasi UI
|
|
573
|
-
untuk app & SaaS".
|
|
574
|
-
|
|
575
|
-
**Kamera mengikuti interaksi UI** — supaya demo tidak statis dan jelas apa yang diklik.
|
|
576
|
-
UI penuh di frame dengan hanya kursor yang bergerak terasa seperti rekaman layar diam, dan
|
|
577
|
-
klik yang kecil tidak terbaca. Bila sebuah klik penting untuk cerita, kamera ikut:
|
|
578
|
-
|
|
579
|
-
1. **Dekati sebelum klik**: 0,3–0,5 dtk sebelum kursor tiba, kamera zoom ke area target
|
|
580
|
-
(scale 1,4–2,2, `power2.inOut` 0,6–0,9 dtk); target sedikit di atas tengah frame.
|
|
581
|
-
2. **Klik terbaca**: kursor berhenti ±0,2 dtk, tombol tertekan (scale .92 → 1), sorot
|
|
582
|
-
tipis pada tombol; kamera nyaris diam saat klik.
|
|
583
|
-
3. **Ikuti hasilnya**: kamera mundur ke lebar atau bergeser ke panel yang berubah
|
|
584
|
-
(0,7–1 dtk), tidak melompat.
|
|
585
|
-
4. **Pilih, jangan semua**: 1–3 klik penting per babak mendapat zoom; klik lain cukup di
|
|
586
|
-
kamera lebar atau pan pelan. Adegan UI yang memang tenang (dasbor dipamerkan, data
|
|
587
|
-
mengisi) boleh tanpa zoom. Hindari zoom masuk-keluar bolak-balik lebih cepat dari
|
|
588
|
-
±1,5 dtk — terasa pusing.
|
|
589
|
-
5. Halus, tanpa blur radial — berbeda dari zoom hentak.
|
|
590
|
-
|
|
591
|
-
```js
|
|
592
|
-
/* ui = pembungkus seluruh UI + kursor (position:relative; transform-origin:0 0), berada di dalam
|
|
593
|
-
frame ber-overflow:hidden. target = elemen di dalam ui (ui sebagai offsetParent). */
|
|
594
|
-
const camTo=(ui,target,at,{s=1.8,dur=.8,fy=.45}={})=>{
|
|
595
|
-
const W=ui.offsetWidth,H=ui.offsetHeight;
|
|
596
|
-
const cx=target.offsetLeft+target.offsetWidth/2, cy=target.offsetTop+target.offsetHeight/2;
|
|
597
|
-
tl.to(ui,{x:W/2-cx*s,y:H*fy-cy*s,scale:s,duration:dur,ease:'power2.inOut'},at);};
|
|
598
|
-
const camWide=(ui,at,dur=.9)=>tl.to(ui,{x:0,y:0,scale:1,duration:dur,ease:'power2.inOut'},at);
|
|
599
|
-
/* pola: camTo(ui,btn,T-.5) → klik di T → camWide(ui,T+.6) atau camTo(ui,panelBaru,T+.6,{s:1.3}) */
|
|
600
|
-
```
|
|
601
|
-
Kursor berada DI DALAM `ui` supaya ikut membesar bersama tombolnya. Target yang bersarang
|
|
602
|
-
dalam elemen ber-posisi lain: hitung posisinya dengan menjumlahkan `offsetLeft/Top` sampai `ui`.
|
|
603
|
-
|
|
604
|
-
## 9. Ketikan & angka hidup (deterministik)
|
|
605
|
-
|
|
606
|
-
Ketikan untuk teks yang memang diketik di dunia konsep (pesan, perintah, pencarian
|
|
607
|
-
yang jadi inti produk) — bukan kotak input yang ditaruh di setiap opener.
|
|
608
|
-
|
|
609
|
-
- Ketikan: `tl.fromTo(o,{i:0},{i:n, ease:'none', onUpdate: el.textContent =
|
|
610
|
-
str.slice(0, Math.round(o.i))})` — BUKAN setInterval.
|
|
611
|
-
- Uptime/counter: `f(t) = base + (t - tStart)`, format di render loop.
|
|
612
|
-
- Sparkline/spektrum: jumlah sinus berbeda frekuensi atas `t` — murah,
|
|
613
|
-
terlihat organik, dan reproducible.
|
|
614
|
-
|
|
615
|
-
## 9b. Video sebagai layer footage
|
|
616
|
-
|
|
617
|
-
Motion graphic tidak hanya gambar dan shape: klip video bisa menjadi layer seperti footage
|
|
618
|
-
di After Effects — dipotong, diposisikan, di-mask, di-grade, dan dianimasikan bersama elemen
|
|
619
|
-
lain. Semua starter sudah membawa helper `clip()`.
|
|
620
|
-
|
|
621
|
-
**Kapan video lebih kuat daripada gambar**
|
|
622
|
-
- Gerak nyata yang menjadi bukti: rekaman layar produk, orang memakai produk, proses yang
|
|
623
|
-
berjalan, suasana tempat.
|
|
624
|
-
- Satu momen penekanan 3–8 dtk — bukan pengganti seluruh motion design. Teks, angka,
|
|
625
|
-
anotasi, dan transisi tetap dianimasikan di atas/sekitar klip.
|
|
626
|
-
- Bila gambar diam cukup menjelaskan, pakai gambar (lebih ringan, ekspor lebih cepat).
|
|
627
|
-
|
|
628
|
-
**Sumber klip** (ditanyakan ke user, sama seperti foto — `opener-konsep.md` "Foto dalam opener")
|
|
629
|
-
- File dari user (prioritas): rekaman layar produk, B-roll brand, footage acara.
|
|
630
|
-
- Generate lewat MCP Higgsfield bila disetujui — cek biaya dulu (klip video jauh lebih mahal
|
|
631
|
-
daripada gambar). Paling konsisten: generate gambar dengan gaya proyek, lalu image-to-video.
|
|
632
|
-
- Stok berlisensi. Konteks faktual (berita, sejarah, data): klip hasil generate diberi label
|
|
633
|
-
"ilustrasi/rekonstruksi" — jangan disajikan sebagai rekaman asli; wajah orang nyata tidak
|
|
634
|
-
di-generate.
|
|
635
|
-
|
|
636
|
-
**Format**
|
|
637
|
-
- MP4 H.264 (`yuv420p`, `+faststart`) atau WebM VP9; tanpa suara (musik/VO tetap trek
|
|
638
|
-
terpisah); 720p–1080p; potong ke bagian yang dipakai supaya ringan.
|
|
639
|
-
```bash
|
|
640
|
-
ffmpeg -i sumber.mov -ss 2 -t 6 -vf "scale=1920:-2" -c:v libx264 -pix_fmt yuv420p -crf 20 -movflags +faststart -an assets/klip.mp4
|
|
641
|
-
```
|
|
642
|
-
- Deliverable menjadi `index.html` + folder `assets/` berisi klip; sebutkan itu ke user.
|
|
643
|
-
|
|
644
|
-
**Pola pemakaian** (animasikan PEMBUNGKUS, bukan `<video>`-nya)
|
|
645
|
-
- Di dalam perangkat: layar laptop/ponsel di opener SaaS; kamera menembus ke layar.
|
|
646
|
-
- Di dalam wadah: kartu foto, bingkai membulat, lingkaran, huruf raksasa (`clip-path`/mask).
|
|
647
|
-
- Belahan layar: video di satu sisi, klaim/angka di sisi lain.
|
|
648
|
-
- Layar penuh dengan lapisan di atasnya: grade/tint palet (`filter` atau lapisan
|
|
649
|
-
`mix-blend-mode`), vignette, teks di kantong kontras (§1b).
|
|
650
|
-
- Waktu: potong `in/out`, `rate` untuk slow/fast motion, `hold` untuk freeze frame akhir.
|
|
651
|
-
- Transisi masuk/keluar sama seperti elemen lain (wipe benda, kartu membesar, match cut).
|
|
652
|
-
|
|
653
|
-
**API helper** (ada di semua starter, setelah baris `window.OPENER=`)
|
|
654
|
-
```html
|
|
655
|
-
<div class="clipbox" id="box1"><video id="v1" src="assets/klip.mp4" muted playsinline preload="auto"></video></div>
|
|
656
|
-
```
|
|
657
|
-
```js
|
|
658
|
-
clip($('#v1'), {at:4, in:1.5, out:6, rate:1, hold:false}); // at = detik timeline; in/out = potongan sumber
|
|
659
|
-
tl.set('#box1', {autoAlpha:1}, 4); // tampilkan pembungkus saat klip mulai
|
|
660
|
-
tl.fromTo('#box1', {scale:.8}, {scale:1, duration:1, ease:'power3.out', immediateRender:false}, 4);
|
|
661
|
-
```
|
|
662
|
-
- Isi video mengikuti jam timeline: saat diputar disinkronkan (koreksi bila selisih > 0,2 dtk),
|
|
663
|
-
saat scrub/pause di-seek tepat. Jangan pakai atribut `autoplay`/`loop` dan jangan
|
|
664
|
-
memanggil `play()` sendiri.
|
|
665
|
-
- `OPENER.seekFrame(t)` men-seek timeline DAN menunggu frame klip siap; `snap.mjs` dan
|
|
666
|
-
`export-frames.mjs` memakainya otomatis, dan menunggu `OPENER.clipsReady()` sebelum mulai.
|
|
667
|
-
- Sembunyikan pembungkus di luar rentang klip (`autoAlpha`) — di luar rentang, video dijeda.
|
|
668
|
-
|
|
669
|
-
**Jaga-jaga**
|
|
670
|
-
- Paling banyak 2–3 klip tampil bersamaan; klip besar yang tak terlihat tetap di-decode.
|
|
671
|
-
- Ekspor MP4 lebih lambat karena tiap frame menunggu decoder video.
|
|
672
|
-
- Selisih ±1 frame saat diputar real-time itu wajar; hasil ekspor tetap presisi frame.
|
|
673
|
-
- Periksa hasil dengan `snap.mjs` di detik yang ada klipnya, bukan hanya di browser.
|
|
674
|
-
|
|
675
|
-
## 10. Jebakan
|
|
676
|
-
|
|
677
|
-
| Gejala | Sebab | Obat |
|
|
678
|
-
|---|---|---|
|
|
679
|
-
| Seluruh frame putih menyala | bloom threshold rendah + additive layers | threshold ≥.5; latar NormalBlending |
|
|
680
|
-
| Elemen muncul mendahului animasinya | selector CSS lebih spesifik dari state-awal `opacity:0` | jangan tulis opacity di selector spesifik; GSAP yang beri nilai akhir |
|
|
681
|
-
| Edit JS "tidak ngefek" | browser cache module (heuristic) | server `Cache-Control: no-store` |
|
|
682
|
-
| Ornamen 3D jadi garis putih | benda pipih diputar penuh sumbu Y | goyangan sinus, bukan rotasi penuh |
|
|
683
|
-
| Ekor blur terpotong kotak | filter region default 110% | x/y -70%, width/height 240% |
|
|
684
|
-
| Teks "gelap/kusam" | tumpukan glow menghisap kontras | hapus glow judul, putih penuh |
|
|
685
|
-
| Pita terang memotong teks di horizon | garis grid menumpuk di titik temu | fade grid sebelum horizon |
|
|
686
|
-
| Scrub menghasilkan gambar beda-beda | ada random/akumulasi di render | lihat daftar larangan determinisme |
|
|
687
|
-
| Teks patah/selebar salah saat split | split sebelum font termuat | tunggu `document.fonts.ready` |
|
|
688
|
-
| Huruf/pill "flash" sesaat sebelum animasi masuknya | `tl.set(el,{autoAlpha:1})` lalu `fromTo(...immediateRender:false)` mulai beberapa frame kemudian — di antaranya elemen tampil penuh | state awal `.ch`, `.hl-t`, tanda baca = `opacity:0` DI CSS, bukan hanya pembungkusnya |
|
|
689
|
-
| Kartu kontrol/teks bergetar lebarnya saat angka berjalan | digit proporsional (1 lebih sempit dari 8) | `font-variant-numeric:tabular-nums` + `min-width` pada elemen angka |
|
|
690
|
-
| Screenshot scrub tertinggal satu langkah / tidak sinkron | GSAP menulis gaya secara lazy di tick berikutnya dan kanvas menunggu rAF (yang dithrottle di tab tersembunyi) | sediakan `OPENER.seek(t)` = `tl.pause(); tl.time(t); gsap.ticker.tick(); render(t)` dan pakai itu dari puppeteer/konsol |
|