@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,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: depth-layer-moves
|
|
3
|
-
一句话: 分层深度两款运镜——多层视差滑轨(3 层速度梯度横移出纵深)与伪 dolly-zoom(主体钉死、背景膨胀压来)
|
|
4
|
-
适用: 平面截图要"有厚度"的段落;戏剧性蓄力时刻用 dolly-zoom(一支片 ≤1 次)
|
|
5
|
-
时长: 视差滑轨 4–5s 持续;dolly-zoom 3–4s 单向行程
|
|
6
|
-
能量: 视差=中(质感型);dolly-zoom=中高(压迫感渐强)
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 意图
|
|
10
|
-
整页平移是"看页面",分层深度是"在页面的空间里"。视差滑轨给横移
|
|
11
|
-
加纵深(迪士尼多平面摄影机原理,Linear 片同款质感);伪 dolly-zoom
|
|
12
|
-
反过来——主角纹丝不动、全世界压过来,给戏剧性时刻蓄力。
|
|
13
|
-
|
|
14
|
-
## 动效核心
|
|
15
|
-
- **视差滑轨(3 层)**:背景整页(系数 0.35 + blur 2px + 降饱和
|
|
16
|
-
0.92 + opacity 0.85,退成环境)、中景真实卡切片(系数 0.7,
|
|
17
|
-
主阅读层,无 blur)、前景浮块(系数 1.4 + blur 3px,掠过镜头)。
|
|
18
|
-
同一条 drive 位移乘各层系数
|
|
19
|
-
- **伪 dolly-zoom**:主体高清卡固定 px 钉屏中(不参与任何变换);
|
|
20
|
-
背景层(整页 + 卡群一体)scale 1→2.25 从画面中心膨胀 + blur 0→3.5px
|
|
21
|
-
渐深;主体落影随进程加深(12→28px offset)强化"钉住感"
|
|
22
|
-
- 两款都不拆真实页面排版:整页作为一体成层,独立元素用切片另起层
|
|
23
|
-
——层间关系是"景深",不是"页面被撕开"
|
|
24
|
-
|
|
25
|
-
## 参数表
|
|
26
|
-
| 参数 | 典型值 | 调节手感 |
|
|
27
|
-
|------|--------|----------|
|
|
28
|
-
| 视差层系数 | 0.35 / 0.7 / 1.4 | 梯度 ≥2 倍层间才可辨;层数 ≤4 防过载 |
|
|
29
|
-
| 层次锚 | 前后景 blur + 背景降饱和 | 没有 blur/饱和锚,读作"贴片乱飞" |
|
|
30
|
-
| dolly 膨胀行程 | scale 1→2.0–2.5 | 行程小了压迫感不足;背景 opacity ≤0.6 防读作故障 |
|
|
31
|
-
|
|
32
|
-
## 已知坑
|
|
33
|
-
- 主阅读层/主体必须高清纹理且无 blur——观众在读它
|
|
34
|
-
- 视差与 PageCam rot 3D 的组合(斜拍视差)未验证,实战先渲 still 确认
|
|
35
|
-
- dolly-zoom 是"戏剧调料":一支片 ≤1 次,日常段落用视差滑轨
|
|
36
|
-
- 参数经占位素材调校转正,非实战定稿,首次实战后回验
|
|
37
|
-
|
|
38
|
-
## 参考实现
|
|
39
|
-
demos/camera/depth-layer-moves/
|
|
40
|
-
(DollyZoomReal.tsx / MultiplaneReal.tsx)
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: graze-face-tour
|
|
3
|
-
一句话: 大倾角贴面游走特写——镜头贴着 UI 表面低飞掠过(侧栏树/顶栏/列表当地形),页面文字初始悬浮在界面上空带同形软影,随镜头行进先后加速贴落回界面
|
|
4
|
-
适用: 功能区巡礼(把 UI 当地景飞掠);配合暗场+霓虹缘光做产品"内部世界"段落;界面内容逐区登场
|
|
5
|
-
时长: 单段 4–5s;可多段接力延长
|
|
6
|
-
能量: 中高(运镜持续推进+元素连续落位,信息密度高)
|
|
7
|
-
标签: ui-entrance
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 意图
|
|
11
|
-
把 UI 拍成地形:大倾角特写让侧栏树、导航、列表行变成掠过的地貌,
|
|
12
|
-
浅景深强化"贴面"。戏眼是**文字空中贴落**:文字/组件不是原地淡入,
|
|
13
|
-
而是悬浮在界面上空(3D z 轴抬高),在空中时往界面投同形软影,
|
|
14
|
-
随镜头行进先后加速贴落、影子随高度收敛消失——观众看见界面在
|
|
15
|
-
镜头经过时"完成自己"。影子是可感命门:没有影子,悬浮读作
|
|
16
|
-
普通位移入场;有影子,空间关系瞬间成立。
|
|
17
|
-
|
|
18
|
-
## 动效核心
|
|
19
|
-
- 机位:CSS perspective + rotateX/rotateY 大倾角(面几乎侧掠),
|
|
20
|
-
沿界面一条路径持续推进;浅景深=远处 blur 渐强
|
|
21
|
-
- 悬浮元素:初始悬浮高度 H≈120–180px(沿面法线方向抬起),
|
|
22
|
-
easeFall 加速下落+软着陆(落地不回弹或极微回弹)
|
|
23
|
-
- 同形软影:元素原位渲染模糊压暗投影,blur/offset/opacity 全部
|
|
24
|
-
随当前悬浮高度变化(高=影大而糊而淡,落地=影与本体重合消失)
|
|
25
|
-
- 错峰贴落:各元素落地时刻按镜头行进方向排布(先经过的先落),
|
|
26
|
-
界面在镜头前"依次完成"
|
|
27
|
-
- 长镜可拆段接力:段间用相邻段交叉淡化(判例:透明度窗口不重叠
|
|
28
|
-
会产生黑闪帧)
|
|
29
|
-
|
|
30
|
-
## 参数表
|
|
31
|
-
| 参数 | 典型值 | 调节手感 |
|
|
32
|
-
|------|--------|----------|
|
|
33
|
-
| 悬浮高度 | 120–180px | <80px 影子和位移都读不出;>250px 落地砸得太重 |
|
|
34
|
-
| 影子参数 | blur/offset/opacity 随高度线性收敛 | 影子恒定不随高度变=贴纸感;落地影必须归零 |
|
|
35
|
-
| 贴落错峰 | 按镜头行进方向 0.2→0.85 归一化排布 | 同帧齐落读作开关;乱序落读作 bug;**错峰=错开起点但下落过程重叠并行**,串行等待(一个落完另一个才开始)被裁(runway 判例) |
|
|
36
|
-
| 下落曲线 | easeFall 加速+软着陆 | ease-out 下落读作气球飘落,重力感靠加速 |
|
|
37
|
-
| 段间接力 | 相邻段交叉淡化 ≥8f | 透明度窗口不搭接会黑闪(返工判例 f100 纯黑帧) |
|
|
38
|
-
| 景深 | 远处 blur 渐强 | 全清晰读作平面滚动,浅景深才有"贴面"体感 |
|
|
39
|
-
|
|
40
|
-
## 已知坑
|
|
41
|
-
- demo 在灰阶/占位素材上调校通过——参数是调校起点非实战定稿,
|
|
42
|
-
首次实战须以真实素材回验
|
|
43
|
-
- 悬空元素别被环境压黑带吞掉(邻候选 runway 判例):空中元素
|
|
44
|
-
需追光/提亮 ~1.3x,否则悬浮状态不可感等于没做
|
|
45
|
-
- 与 space-camera-moves/tension-camera-moves 分工:那两张是相机
|
|
46
|
-
语言本身;本卡=贴面机位 **+ 元素贴落** 的组合签名,缺一半就
|
|
47
|
-
改用相机卡
|
|
48
|
-
- **贴落节奏语义判例**(与 neon-frame-orbit-drop 互为反例):
|
|
49
|
-
本卡巡礼镜=错峰并行;整体登场镜必须全体同帧齐落(那张卡的
|
|
50
|
-
错峰版被裁)。选错语法两边都会被裁
|
|
51
|
-
- 原片(clickup-30)是一条连续上行长镜;复刻用三段接力,段落
|
|
52
|
-
切换藏在交叉淡化里——实战若做真单长镜,路径规划成本高得多
|
|
53
|
-
|
|
54
|
-
## 参考实现
|
|
55
|
-
demos/camera/graze-face-tour/
|
|
56
|
-
(GrazeFaceTour.tsx)
|
|
57
|
-
原片出处:clickup-30.mp4
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: anidoodle
|
|
3
|
-
description: "Code-drawn stills, drawing timelapses, films, explainers and interactive web animations in 32 styles, with composed scores. Matches a reference style, keeps characters consistent, teaches drawing. Deterministic, no generated assets. Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
|
|
4
|
-
license: Apache-2.0
|
|
5
|
-
source: "alexgreensh/anidoodle"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# anidoodle
|
|
9
|
-
|
|
10
|
-
## Running it in AICUT
|
|
11
|
-
|
|
12
|
-
AICUT's film is `film.html`: it cuts pages, footage, pictures and sound together on tracks. A page is a web page that
|
|
13
|
-
sets `window.film = { frame(t) }` and draws that moment — no framework, no build step, no composition object, no
|
|
14
|
-
`registerRoot`. Five shots are five pages cut together, not one page that changes scene, so each shot stays trimmable
|
|
15
|
-
and replaceable in Studio.
|
|
16
|
-
|
|
17
|
-
```sh
|
|
18
|
-
npx -y @autoaiai/aicut@latest # the manual: the format and the commands, always current
|
|
19
|
-
npx -y @autoaiai/aicut@latest open . # make this folder a film and print Studio's address
|
|
20
|
-
npx -y @autoaiai/aicut@latest look # a contact sheet of the whole film, its sound, and a determinism check
|
|
21
|
-
npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size — look at the PNG, not at the code
|
|
22
|
-
npx -y @autoaiai/aicut@latest render # the MP4, beside film.html
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Run the manual before the first film: it is authoritative for the format, and this skill is about the method above it.
|
|
26
|
-
|
|
27
|
-
Where the words below name another program's part, it becomes this:
|
|
28
|
-
|
|
29
|
-
| elsewhere | in AICUT |
|
|
30
|
-
|---|---|
|
|
31
|
-
| composition, timeline, project file | `film.html`; tracks and clips inside it |
|
|
32
|
-
| a scene, a sequence, a slide | a page (`pages/<name>.html`) cut onto a track |
|
|
33
|
-
| `useCurrentFrame()`, `interpolate()` | `frame(t)` — the picture depends only on `t`, never on state or `Date.now()` |
|
|
34
|
-
| a still, a screengrab | `aicut look <t>` |
|
|
35
|
-
| `render` / `build` / `export` | `aicut render` (the person can also export from Studio) |
|
|
36
|
-
| a dev server, a preview window | `aicut open` and the Studio address it prints |
|
|
37
|
-
|
|
38
|
-
Hard rules that hold whatever the method says: the picture depends only on `t`; every value in the person's prompt is
|
|
39
|
-
binding; look at the frames `look` writes before saying a film is done.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Pictures, films and interactive pieces drawn entirely in code. One pure function paints every
|
|
43
|
-
frame; another composes the score and plays it. The same source rebuilds the same pixels and the
|
|
44
|
-
same sound on any machine, at any size, at any length. Eight acoustic instruments can play recordings
|
|
45
|
-
of real ones from an optional download. ASK the user before any score work; never download unasked.
|
|
46
|
-
|
|
47
|
-
The engine is the easy half. Work gets thrown away because it had no point, because the subject
|
|
48
|
-
was an icon of itself, because a style was only a palette swap, because the music had no form,
|
|
49
|
-
or because the person spent their patience approving fragments. This skill carries the craft
|
|
50
|
-
that prevents each of those.
|
|
51
|
-
|
|
52
|
-
## Start by asking, then build
|
|
53
|
-
|
|
54
|
-
Read `references/workflows/start-here.md` and run its intake: one question at a time, only
|
|
55
|
-
what the request leaves open, your recommendation first. **What** are they making, in **which
|
|
56
|
-
style** (show the gallery sheet, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg; the list is `references/styles/INDEX.md`), what
|
|
57
|
-
**shape** (1x1, 9x16, 16x9, 4x5 or any W x H), how **long** (any length; never cap it), what
|
|
58
|
-
**sound** (silent or a music style and mood), which **characters**. "You pick" means pick and
|
|
59
|
-
say why in one line. Write the answers into a short brief before drawing.
|
|
60
|
-
|
|
61
|
-
## What are you making?
|
|
62
|
-
|
|
63
|
-
| Making | Read |
|
|
64
|
-
|---|---|
|
|
65
|
-
| A still: hero, spot, cover, card, poster, a series | Still workflow below, `references/formats.md` |
|
|
66
|
-
| A picture that draws itself (timelapse, making-of) | `references/workflows/drawing-process.md` |
|
|
67
|
-
| A loop, sticker, animated logo, ambient header | Loop workflow below, `references/formats.md` |
|
|
68
|
-
| A story film, any length | Film workflow below, `references/workflows/long-film.md` |
|
|
69
|
-
| An explainer or infographic; a machine that comes apart to explain an idea, in any style | `references/workflows/explainer.md`, `references/workflows/machines.md` |
|
|
70
|
-
| A launch or product video (their screenshots welcome) | `references/workflows/launch-video.md`; build it on `references/workflows/launch-video-kit.md`; its claims: `references/workflows/facts.md` |
|
|
71
|
-
| Art for a site (hero by a headline, tiles, spots, share card) on its page colour and brand; or a web animation that reacts to the UI | `references/workflows/site-art.md`; `references/workflows/interactive.md` |
|
|
72
|
-
| A drawing lesson, or "how do I draw this?" | `references/workflows/teach-drawing.md` |
|
|
73
|
-
| A character kept identical in any style (woodcut to toy brick) | `references/workflows/character-consistency.md`, `references/anatomy.md` |
|
|
74
|
-
| A style matched from their image | `references/workflows/adapt-a-style.md` |
|
|
75
|
-
| A score or soundtrack | `references/music/README.md` |
|
|
76
|
-
|
|
77
|
-
- Music: pick a style vocabulary and mood, sketch the tension arc and motif, compose your own harmony, motif and form (references/music/compose.md, craft in references/music/theory/), revise until node tools/music.mjs craft shows only findings you chose, then check must PASS before a human listens. Styles give sound, never notes.
|
|
78
|
-
- Sound effects: references/music/sound-design.md. 14 layered, seeded effects cued by film frame (filmSfx); the score ducks, and every cue must be within 6 dB of it. Effects only on real direction changes, one riser + one impact per film.
|
|
79
|
-
- Launch films: `launchTemplate.ts` renders a product's launch from data (prompts, plates or its own UI, a score composed for it, words, install lines) in every shape from one timeline; `launch.mjs new|ship`. Habits that save tokens: `references/working-method.md`.
|
|
80
|
-
|
|
81
|
-
## The seven laws
|
|
82
|
-
|
|
83
|
-
1. **Every piece has a point.** A still: one idea, one focal subject, one light. A film: one
|
|
84
|
-
transformation, one payoff, one token that returns. → `references/storytelling.md`
|
|
85
|
-
2. **State the realism.** Name the anatomy, the view and the reference you opened, for animals,
|
|
86
|
-
objects and people alike. → `references/realism-and-craft.md`, `references/anatomy.md`
|
|
87
|
-
3. **A style is a way of making marks.** Change the medium, the edge and the order of the marks,
|
|
88
|
-
beyond the palette. → `references/styles.md`
|
|
89
|
-
4. **Prove the look on ONE still, then build end to end.** After that, gates cost more than they
|
|
90
|
-
save. → `references/working-method.md`
|
|
91
|
-
5. **The contract is absolute.** Pure in `(frame, env)` (and the input log, for interactive
|
|
92
|
-
pieces), `rng(seed)` only, no clock, no `ctx.filter`. Nothing generated; images they bring may be
|
|
93
|
-
embedded by hash, and the sound pack is a separate, hash-pinned download. → `references/determinism-and-contract.md`
|
|
94
|
-
6. **Music gets a plan, never an adjective.** A style, a mood per section, the notes as data, then
|
|
95
|
-
measurements. You cannot hear it, so one human listens before it ships. → `references/music/`
|
|
96
|
-
7. **One directs, one builds, both write everything down.** When a session degrades, reset; the
|
|
97
|
-
files are the memory. → `references/working-method.md`
|
|
98
|
-
|
|
99
|
-
## Workflows
|
|
100
|
-
|
|
101
|
-
**Still.** (1) Say the idea in one sentence; name the focal subject and the light. (2) Open real
|
|
102
|
-
reference for anything that exists, and note which. (3) Pick the style and read its plate's
|
|
103
|
-
header first. (4) Draw in that medium's order. (5) Render with `still.mjs` at full size, run the
|
|
104
|
-
**detail pass** on crops (faces, hands, feet, joins; `references/craft-bar.md`), critique in writing. ✋ **One approval.** (6) Deliver every
|
|
105
|
-
size and shape asked for from the same source, and say `reproducible` was printed.
|
|
106
|
-
|
|
107
|
-
**Loop.** As a still, plus: every motion is periodic over the loop, the subject never stops,
|
|
108
|
-
something moves every second. Check the seam (last frame against frame 0). ✋ **One approval,
|
|
109
|
-
on the moving file.**
|
|
110
|
-
|
|
111
|
-
**Film.** (1) **The story in three sentences** (setup, transformation, payoff) and the token; for
|
|
112
|
-
longer films, a spine plus one line per chapter. If you cannot write it, stop. (2) **The grid**:
|
|
113
|
-
a beat is 60 x fps / bpm frames, the bpm from the brief's score; one cue table holds every frame number and a checker
|
|
114
|
-
runs at load. (3) **Real reference** for anything that exists. (4) **ONE look still**, the hardest
|
|
115
|
-
frame, critiqued in writing. ✋ **Approval.** (5) **ONE 8-second music sample.** ✋ **Approval.**
|
|
116
|
-
(6) **Build the whole film**; mechanical checks run continuously. (7) **A fresh critic reviews, never you**
|
|
117
|
-
(`references/workflows/review.md`): after the storyboard, each scene and the full render, a new subagent that saw none of the building returns ranked, timestamped problems and a verdict. Fix the biggest, a NEW critic rechecks; 3 rounds at most, logged in `ledger.md`.
|
|
118
|
-
(8) ✋ **Final approval.** Say what you verified and what you cannot.
|
|
119
|
-
|
|
120
|
-
Three approval gates at most. Approval is a budget; spend it where being wrong is expensive.
|
|
121
|
-
|
|
122
|
-
## The craft bar
|
|
123
|
-
|
|
124
|
-
The test: would a proud human illustrator ship this, or is it mechanical shape-assembly? The
|
|
125
|
-
full table of tells is `references/craft-bar.md`. The ones that sink most work: subjects built
|
|
126
|
-
from ellipses, one style recoloured into another, things that fade in instead of being drawn,
|
|
127
|
-
people with rubber joints, and a character drawn differently from shot to shot.
|
|
128
|
-
|
|
129
|
-
**No dead air** in anything that moves: something visibly changes every second. A film that
|
|
130
|
-
draws itself declares `kind: "drawing"` and is judged on a finer floor; a freeze still fails.
|
|
131
|
-
|
|
132
|
-
## The engine
|
|
133
|
-
|
|
134
|
-
`engine/` is the portable art core plus the tooling. `engine/src/canvas-core` knows nothing
|
|
135
|
-
about the DOM or any backend. `W`, `H`, `fps` and `durationFrames` come from the film's `meta`.
|
|
136
|
-
Camera moves (pans, dollies, lens and dolly zooms, parallax, shake) and slow motion or freeze frames: `engine/src/canvas-core/camera.ts`, `engine/src/canvas-core/timeRemap.ts`, `references/camera.md`.
|
|
137
|
-
Seams between scenes: `references/motion-grammar.md` (cuts that carry motion: `seams.ts`; `tools/deck.mjs deal` deals each film different moves; `deck.mjs find "<name>"` turns a move's everyday name into its card). `render.mjs --blur auto` renders with motion blur (subframes per frame
|
|
138
|
-
from its measured on-screen speed, averaged in linear light, `--shutter 180`); the default path is untouched.
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12 # seconds
|
|
142
|
-
cd ~/art && npm install && npx playwright-core install chromium
|
|
143
|
-
node <skill>/engine/tools/soundfetch.mjs list # no network. Nothing installed and not declined: ask the user now
|
|
144
|
-
node <skill>/engine/tools/soundfetch.mjs get piano rooms # on their yes (piano 233 MB, all 373 MB). On no: soundfetch.mjs decline
|
|
145
|
-
```
|
|
146
|
-
```
|
|
147
|
-
| Tool | What it does |
|
|
148
|
-
|---|---|
|
|
149
|
-
| `scaffold.mjs` | a project with a still and/or film; `--duration`, `--format` or `--size`, `--fps`, `--bpm` |
|
|
150
|
-
| `still.mjs` / `render.mjs` | frames drawn twice with hashes (`--frames a,b,c --sheet` in one browser) / the piece in any format (`--from/--to`, `--poster-frame`, `--hashes`) |
|
|
151
|
-
| `gate.mjs` | determinism, contract, dead air, artifact; `--self-test` proves it can fail |
|
|
152
|
-
| `registry.mjs` / `gallery.mjs` | the style list from the plates themselves / the gallery sheet |
|
|
153
|
-
| `docs-check.mjs` | fails when any doc's style count, length or path disagrees with the code |
|
|
154
|
-
| `verify-export.mjs` | QA on the rendered file: frames, duration, score, A/V sync, true peak after the encode; opt-in first frame, loop seam, `--delivery` |
|
|
155
|
-
| `launch.mjs` | a launch film: `new <name>` scaffolds the spec; `ship <name> --shapes 16x9,9x16` renders, posters, captions, verifies and framechecks each (`framecheck.mjs`: text whole, up long enough to read, clear of the 9:16 phone zones) and checks `facts.json` (`facts.mjs`) |
|
|
156
|
-
| `test.mjs` (`npm test`) | unit suites in `engine/test/`, no browser |
|
|
157
|
-
| `music.mjs` | `vocab` prints a style's vocabulary; `check` gates your composed score (key, master, guards, stems, novelty, which parts played recordings) and prints its shape (ARC); `render`, `meter` |
|
|
158
|
-
| `soundfetch.mjs` | the sound pack: `list`, `get <id...\|all>`, `where`, `verify`, `remove <id>` |
|
|
159
|
-
| `sfx.mjs` | the sound-effects kit: `list`, `one`, `kit <dir>`, `test` |
|
|
160
|
-
|
|
161
|
-
Four backends, one art core: `playwright`, `html-player`, `remotion`, `hyperframes`.
|
|
162
|
-
→ `references/backends-and-adapters.md`
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
## Worked examples
|
|
166
|
-
|
|
167
|
-
- **The style plates** in `engine/src/canvas-core/`: every hand has a still and a film of it being
|
|
168
|
-
drawn, with the recipe in the header and `references/styles/<id>.md`.
|
|
169
|
-
- **MECHANICAL LEPIDOPTERA** in `example/`: a 47 s scored film. `scaffold.mjs ~/study --example`.
|
|
170
|
-
|
|
171
|
-
**Study them. Do not copy them.** The craft bar is not satisfied by inheritance.
|
|
172
|
-
|
|
173
|
-
## Honest limits
|
|
174
|
-
|
|
175
|
-
You cannot hear the score, watch the film move, or use the interactive piece. Every claim about
|
|
176
|
-
them comes from a measurement or from a human; say which. A green checkmark is a claim until you
|
|
177
|
-
re-run it. Render one frame at `--scale 2` before trusting a still: a layer blitted through the
|
|
178
|
-
wrong transform looks right at 1x and breaks at 2x.
|
|
179
|
-
|
|
180
|
-
## Source
|
|
181
|
-
|
|
182
|
-
Rewritten for AICUT from [`alexgreensh/anidoodle`](https://github.com/alexgreensh/anidoodle)
|
|
183
|
-
(Apache-2.0), skills/anidoodle/SKILL.md. The method is that skill's own; the way it runs is AICUT's.
|
|
184
|
-
|
|
185
|
-
The repository holds 2 skills; this is the one its entry stands for.
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
# Human anatomy in code
|
|
2
|
-
|
|
3
|
-
> Structure first, marks last: the rule `butterfly/alive/anatomy.ts` applied to a wing, applied to
|
|
4
|
-
> a person. A human drawn from outlines is the road-sign icon of a human. A human built from a
|
|
5
|
-
> skeleton, volumes and a camera gets foreshortening, overlap, contact and balance for free, and
|
|
6
|
-
> gets every one of them checkable. Code: `engine/src/canvas-core/character/human/`.
|
|
7
|
-
|
|
8
|
-
**The scar.** The first mannequin we built had arms hanging in a gap beside a box torso: a
|
|
9
|
-
wooden doll. Its hands were rakes, its thumb left the wrist as a stick, its pinch never closed, a
|
|
10
|
-
nine-year-old's shins were 16% short, and a 37-degree ankle bend and a 46-degree hip slipped into
|
|
11
|
-
poses we "tuned by eye". The checks below caught the last four. The eye caught the first three.
|
|
12
|
-
You need both.
|
|
13
|
-
|
|
14
|
-
## The pipeline
|
|
15
|
-
|
|
16
|
-
| Layer | File | What it owns |
|
|
17
|
-
|---|---|---|
|
|
18
|
-
| Canon | `canon.ts` | landmark heights in head units per canon ROW (adult 7.5, storybook child 5.2 declared over a real 6.2); heads-by-age and eye-line-by-age tables |
|
|
19
|
-
| Skeleton | `skeleton.ts` | bone lengths from the canon; forward kinematics; joint limits and cones; **a pose outside them throws at load** |
|
|
20
|
-
| Mannequin | `mannequin.ts` | ribcage egg, pelvis bowl, shoulder girdle, limbs as chains of ellipsoids with muscle profiles |
|
|
21
|
-
| Head | `head.ts` | Loomis ball + jaw; features placed ON the face surface; eleven expression parameters |
|
|
22
|
-
| Hands | `hands.ts` | 5 digits, 14 phalanges, knuckle arc, thumb from the wrist with thenar mass, pose library, solved pinch |
|
|
23
|
-
| Balance, reach | `balance.ts` | centre of mass (Winter segment masses) inside the support polygon; analytic leg IK; numeric reach; contrapposto |
|
|
24
|
-
| Walk | `walk.ts` | a walk from footsteps: heel, ankle and forefoot rockers, swing arcs, pelvis bob and counter-rotation |
|
|
25
|
-
| Clothing | `clothing.ts` | garments are inflated body blobs cut to length; they turn and swing with the body |
|
|
26
|
-
|
|
27
|
-
A body part is a UNION of convex polygons (a limb is its blob chain swept pairwise), projected
|
|
28
|
-
through a pinhole camera with a real focal length. The outline is every boundary point not inside
|
|
29
|
-
a sibling polygon, minus seams where a part grows out of its parent: so an elbow has no seam, but a
|
|
30
|
-
forearm crossing its own upper arm still gets its overlap line.
|
|
31
|
-
|
|
32
|
-
**Mannequin is the checker, not the look (in progress).** Rendering those volumes literally reads as
|
|
33
|
-
a mannequin. The drawing layer (`character/design.ts`) keeps the rig as pose source and checker and
|
|
34
|
-
draws designed sweeps over it: a gesture curve through the joints, an authored section table, the
|
|
35
|
-
silhouette perpendicular to the curve. Mira's clothing and Theo the baker (`characters/theo/baker.ts`,
|
|
36
|
-
coloured pencil) use it. Still open: sleeve caps and forearms read tubular, clothing drape from contact
|
|
37
|
-
points is partial, anatomical landmarks are not yet expressed as contour breaks on the drawn layer.
|
|
38
|
-
|
|
39
|
-
## Canon (checked, not asserted)
|
|
40
|
-
|
|
41
|
-
- Heads tall by age (Loomis): 1 y 4, 3 y 5, 6 y 5.75, 8 y 6, 9 y 6.2, 12 y 7, adult 7.5, heroic 8.
|
|
42
|
-
- Eye line: half the head in adults, lower in children (0.44 at nine, 0.38 at one).
|
|
43
|
-
- Adult: crotch at half height, elbow at the waist, wrist at the crotch, hand = face, foot = forearm.
|
|
44
|
-
- Every canon: limb segments as fractions of (body) height from Winter's anthropometric table:
|
|
45
|
-
upper arm 18.6%, forearm 14.6%, hand 10.8%, thigh 24.5%, shank 24.6%, foot 15.2%, within 16%.
|
|
46
|
-
- A stylised canon is a declared row. The storybook child enlarges the head 1.19x and is measured
|
|
47
|
-
against the body height a real 6.2-head child of her height would have.
|
|
48
|
-
|
|
49
|
-
## Joints
|
|
50
|
-
|
|
51
|
-
Ranges (AAOS / Norkin & White, rounded): elbow 0-150, knee 0-140, hip flexion -20..125 but only 95
|
|
52
|
-
with the knee straight (hamstrings), ankle -45..25, neck total rotation 80, fingers MCP -20..90, PIP
|
|
53
|
-
0..110, DIP -5..80. Wrist, neck and shoulder are CONES (an ellipse of combined motion), not boxes.
|
|
54
|
-
Anything that solves a pose (leg IK, reach, the walk) either stays inside or throws; an ankle at its
|
|
55
|
-
limit lifts the heel instead of folding further, which is what a real heel does.
|
|
56
|
-
|
|
57
|
-
## Hands, the known weak spot
|
|
58
|
-
|
|
59
|
-
- Knuckles on an ARC (middle furthest from the wrist, little finger well back); fingers in length
|
|
60
|
-
order middle > ring >= index > little; a web of skin a third of the way up the fingers.
|
|
61
|
-
- The thumb's metacarpal is buried in the thenar eminence: the visible thumb leaves the palm at its
|
|
62
|
-
MCP, not the wrist. At rest it lies alongside the index, pointing down and forward.
|
|
63
|
-
- Contact is SOLVED, never typed: the pinch pulls thumb pad onto index pad; a grip pulls every
|
|
64
|
-
finger joint onto the cylinder it holds (none inside it); a wave turns the forearm until the palm
|
|
65
|
-
faces the lens.
|
|
66
|
-
- Nails on the dorsal face of the distal phalanx, drawn only when that face turns to the camera.
|
|
67
|
-
|
|
68
|
-
## Poses from reference, built like a teacher builds them
|
|
69
|
-
|
|
70
|
-
Name the reference you opened (Loomis, Hogarth, Williams, Perry and Burnfield are cited in the
|
|
71
|
-
files). Place the feet, solve the legs, carry the centre of mass over the support, send each hand
|
|
72
|
-
to a target. Contrapposto: weight foot near the midline, pelvis drops on the free side, shoulders
|
|
73
|
-
tilt against it. Tiptoe: toes bend flat to the floor and the mass goes over the balls. A seated
|
|
74
|
-
figure's support includes the seat.
|
|
75
|
-
|
|
76
|
-
## The look-at-it list (no check proves these)
|
|
77
|
-
|
|
78
|
-
Render the figure sheet and look, at full size, for: arms that hang in a gap (missing shoulder
|
|
79
|
-
girdle); rake hands; a thumb from the wrist; a face that turns but whose far eye does not narrow;
|
|
80
|
-
a hand that covers the face; a pinch that does not meet; feet that float or sink; a coat that sits
|
|
81
|
-
on the lap like a plate; a pointed finger that does not read as aimed. Each of those shipped in a
|
|
82
|
-
draft of our figure sheet and was caught only by eye.
|
|
83
|
-
|
|
84
|
-
## Gate
|
|
85
|
-
|
|
86
|
-
`node tools/character-check.mjs` : canon ratios, limits for every library pose, bone lengths
|
|
87
|
-
constant, left/right symmetry, five digits in length order with the knuckle arc, pinch contact,
|
|
88
|
-
balance, feet on (not through) the floor, identity per view, palette hue families per hand, and
|
|
89
|
-
for a film the planted feet (no slide over 4 mm a frame). Then its negative twins, each of which
|
|
90
|
-
must fail: elbow 170, knee backwards, wrist outside its cone, straight-leg kick, finger bent back,
|
|
91
|
-
owl neck, a figure toppling, a blue coat, missing glasses.
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Backends and adapters
|
|
2
|
-
|
|
3
|
-
One art core, four backends, and the core cannot see any of them. An adapter is the only thing
|
|
4
|
-
that knows how a film becomes pixels.
|
|
5
|
-
|
|
6
|
-
## The interface
|
|
7
|
-
|
|
8
|
-
Every adapter exports the same four things, so `tools/gate.mjs` can hold any of them to the same
|
|
9
|
-
bar without knowing which it has:
|
|
10
|
-
|
|
11
|
-
```js
|
|
12
|
-
export const name = "html-player";
|
|
13
|
-
export const describe = () => "one sentence: what this adapter DELIVERS";
|
|
14
|
-
export const probe = () => ({ ok, why }); // can it run here, and if not, why not
|
|
15
|
-
export const open = async (film, { scale, workers }) => session;
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
A session is:
|
|
19
|
-
|
|
20
|
-
```js
|
|
21
|
-
{ workers, // how many independent draw contexts it actually opened
|
|
22
|
-
info(), // -> film.meta
|
|
23
|
-
frame(n, w), // -> { png: Buffer, shot, drawMs }
|
|
24
|
-
hash(n, w), // -> stable digest of the drawn pixels
|
|
25
|
-
audio(sampleRate), // -> { sampleRate, frames, pcm16 } | null
|
|
26
|
-
artifact(), // -> the adapter's own deliverable, or null
|
|
27
|
-
close() }
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
`workers` is the number of independent contexts, and the gate uses it to redraw the same frames a
|
|
31
|
-
different way. That is a stronger test than it sounds: each instance has its own texture tiles,
|
|
32
|
-
its own layer pool and its own cache, so two instances agreeing means the caches are genuinely
|
|
33
|
-
keyed on what the pixels depend on and not on the order somebody happened to ask for frames in.
|
|
34
|
-
|
|
35
|
-
## The four
|
|
36
|
-
|
|
37
|
-
| Adapter | Delivers | Needs |
|
|
38
|
-
|---|---|---|
|
|
39
|
-
| `playwright` | frames, as a means to an MP4 | playwright + a chromium build |
|
|
40
|
-
| `html-player` | **the page**: one self-contained offline HTML file | playwright + a chromium build |
|
|
41
|
-
| `remotion` | frames through a Remotion `<Composition>` | `remotion`, `@remotion/bundler`, `@remotion/renderer` |
|
|
42
|
-
| `hyperframes` | frames seeked in headless Chrome by the Hyperframes engine | `@hyperframes/engine`, Node >= 22, ffmpeg |
|
|
43
|
-
|
|
44
|
-
## Warm and cold catch different bugs
|
|
45
|
-
|
|
46
|
-
This is the one thing to carry away.
|
|
47
|
-
|
|
48
|
-
- **`html-player` shares one warm cache across frames.** It can catch a cache key that fails to
|
|
49
|
-
name everything its pixels depend on, because it draws frame 512 and then frame 128 into the
|
|
50
|
-
same session and compares.
|
|
51
|
-
- **`remotion` renders every frame COLD** — each still is its own page, its own module state, its
|
|
52
|
-
own cache. It proves frame N owes nothing to the frames before it, and it **cannot** catch a
|
|
53
|
-
stale cache, because there never is one.
|
|
54
|
-
|
|
55
|
-
On this film a real order-dependence sat in the plate composer: five cached surfaces baked the
|
|
56
|
-
line's "boil" into their pixels while leaving it out of their key. The warm adapter found it and
|
|
57
|
-
named the poisoning frame. The cold adapter passed happily. **Run both. Neither is the whole bar.**
|
|
58
|
-
|
|
59
|
-
## Writing a new one
|
|
60
|
-
|
|
61
|
-
Ninety percent of an adapter is plumbing; the film is already a pure function of the frame number,
|
|
62
|
-
which is what every one of these backends actually wants. Two traps, both paid for:
|
|
63
|
-
|
|
64
|
-
- **Remotion screenshots when React commits**, and a committed `<canvas>` is a blank one until the
|
|
65
|
-
effect runs. Hold the frame with `delayRender` / `continueRender` around the draw or you will
|
|
66
|
-
ship empty plates that pass every hash check, because they are consistently empty.
|
|
67
|
-
- **Do not pass the film through props.** A `Film` carries functions (every shot's `draw`, the
|
|
68
|
-
score) and most frameworks serialize props. Close over it instead.
|
|
69
|
-
|
|
70
|
-
For a backend that drives a **seekable page** rather than a component, the page-side contract is
|
|
71
|
-
small and this engine already satisfies it: a finite frame count, forward, backward and random
|
|
72
|
-
seeks, and the same state whenever the same frame is asked for again. `window.FILM.seek(n)` is the
|
|
73
|
-
whole implementation. `tools/verify-frame-adapter.mjs` holds such an adapter to that contract
|
|
74
|
-
using playwright, which means you can prove the page-side half **before** the backend is installed.
|
|
75
|
-
|
|
76
|
-
## If a backend is not installed
|
|
77
|
-
|
|
78
|
-
Say so. Keep every reference behind a dynamic import inside `open()` so the file imports clean,
|
|
79
|
-
make `probe()` name what is missing and how to get it, and let the gate report `CANNOT RUN`
|
|
80
|
-
(exit 2) rather than failing. Then check that the module really exports what you are about to
|
|
81
|
-
call, and if it does not, say what it exported instead. A backend that is not installed should
|
|
82
|
-
report that it is not installed — it should never quietly produce a wrong answer.
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# The camera: one dolly and one lens, keyed on the frame grid
|
|
2
|
-
|
|
3
|
-
`engine/src/canvas-core/camera.ts` is the camera. A film either draws in world coordinates
|
|
4
|
-
inside `begin()`/`end()` (the transform path: dirty boxes stay right because the camera rides
|
|
5
|
-
the `Gfx` transform stack), or asks `toScreen()` where a world point lands and draws there (the
|
|
6
|
-
projector path). Both come from the same state, so a caption pinned to the frame and the world
|
|
7
|
-
it floats over can never disagree. Everything is a pure function of the frame: the same camera
|
|
8
|
-
question gets the same answer on any machine, in any order.
|
|
9
|
-
|
|
10
|
-
## The move
|
|
11
|
-
|
|
12
|
-
```ts
|
|
13
|
-
import { Camera } from "./camera";
|
|
14
|
-
|
|
15
|
-
const cam = new Camera([W / 2, H / 2], [
|
|
16
|
-
{ f: 0, look: [400, 300], zoom: 1, ease: "inout" }, // ease governs the segment this key LEAVES
|
|
17
|
-
{ f: 90, look: [900, 300], zoom: 2 },
|
|
18
|
-
{ f: 150, look: [900, 300], zoom: 2 }, // a hold: say it, don't imply it
|
|
19
|
-
{ f: 240, look: [400, 300], zoom: 1 },
|
|
20
|
-
]);
|
|
21
|
-
cam.shake({ from: 96, to: 126, amp: 14, seed: 7, rot: 0.004 }); // an impact, ringing down
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
- **The `zoom` key is the dolly**: how close the camera stands (see Lens and dolly below). It is
|
|
25
|
-
interpolated in log2, because it is a ratio: halving the apparent size twice should take twice
|
|
26
|
-
as long as halving it once. Ease the value itself and a long push-in sprints at the near end
|
|
27
|
-
and crawls at the far one; easing log2(zoom) spends time evenly per stop. A `lens` key eases
|
|
28
|
-
the same way.
|
|
29
|
-
- **Easing per segment, `inout` (easeInOutCubic) by default.** A camera move with no live
|
|
30
|
-
operator should accelerate gently and arrive gently. `linear` reads as mechanical, `out`
|
|
31
|
-
alone reads as interrupted, `in` alone as a fall.
|
|
32
|
-
- **A dolly path with several keys** breathes at every key under per-segment easing. Pass
|
|
33
|
-
`monoZoom: true` to run one monotone cubic through all the `zoom` keys in log2 instead: smooth,
|
|
34
|
-
never overshooting into a scale it was not given, never reversing.
|
|
35
|
-
- **Authored paths**: for a camera that follows a creature or a curve, pass
|
|
36
|
-
`path: (f) => ({ look, zoom, lens? })` instead of keys. Same camera, same shake, same projections.
|
|
37
|
-
|
|
38
|
-
## Depth planes (parallax)
|
|
39
|
-
|
|
40
|
-
The camera sits at distance D = 1/zoom from the hero plane (z = 0). A plane at depth z scales
|
|
41
|
-
by `lens/(D + z)` and moves with it: near planes swing wide, far ones barely stir, and every
|
|
42
|
-
element at a depth agrees with every other, because there is only one camera. Positive z
|
|
43
|
-
recedes; a negative z crosses the lens (grass across the glass). Pass the plane's z to
|
|
44
|
-
`begin(g, f, z)` or `toScreen(p, f, z)`. One dolly, one number, and the parallax is true for
|
|
45
|
-
every element at once: do not hand each plane its own drift.
|
|
46
|
-
|
|
47
|
-
## Lens and dolly
|
|
48
|
-
|
|
49
|
-
Two different moves make the subject bigger, and directors name them apart:
|
|
50
|
-
|
|
51
|
-
- **A dolly** moves the camera: the `zoom` key, distance D = 1/zoom. Near planes grow faster than
|
|
52
|
-
far ones, so the depth changes as it goes. This is a push-in, a pull-back, a dolly in or out.
|
|
53
|
-
- **A lens zoom** changes the focal length with the camera standing still: the `lens` key (1
|
|
54
|
-
when no key sets it; once one does, frames before the first lens key hold that key's value, so
|
|
55
|
-
key `lens: 1` where the zoom starts, as below). It multiplies every plane by the same factor about the frame's centre, so nothing
|
|
56
|
-
shifts against anything else; the picture is magnified, flat. A crash zoom or punch-in is this.
|
|
57
|
-
It reads as an operator's or a documentary's move, more noticed than a dolly. Use it when that
|
|
58
|
-
is the voice; for travelling into a world, dolly.
|
|
59
|
-
- **A dolly zoom** does both against each other: the camera dollies while the lens is solved on
|
|
60
|
-
every frame so the hero plane keeps its size, and the planes behind stretch away (dolly in) or
|
|
61
|
-
loom (dolly out). The subject holds still in a world that has just changed shape: the moment of
|
|
62
|
-
realisation (deck card `cam-vertigo-realisation`). It needs at least two planes behind the
|
|
63
|
-
subject; with nothing behind it, nothing visibly happens.
|
|
64
|
-
|
|
65
|
-
```ts
|
|
66
|
-
import { Camera, dollyZoom, heroScale } from "./camera";
|
|
67
|
-
|
|
68
|
-
const lensIn = new Camera(c, [{ f: 0, look, zoom: 1 }, { f: 40, lens: 1, ease: "out" }, { f: 52, lens: 2.2 }]); // a crash zoom
|
|
69
|
-
const dolly = new Camera(c, [{ f: 0, look, zoom: 1 }, { f: 60, zoom: 2.4 }]);
|
|
70
|
-
const vertigo = new Camera(c, [], { path: dollyZoom((f) => dolly.at(f)) }); // holds frame 0's hero scale
|
|
71
|
-
// dollyZoom(path, { hold: 1.5 }) holds a given scale; { at: 30 } holds the scale the path has at frame 30
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
`heroScale(cam)` is the hero plane's screen scale (dolly times lens), and the line-weight
|
|
75
|
-
compensation `weight(cam)` follows it, for a lens zoom as for a dolly.
|
|
76
|
-
|
|
77
|
-
## Time: speed ramps, slow motion, freeze frames
|
|
78
|
-
|
|
79
|
-
`engine/src/canvas-core/timeRemap.ts` maps the film's frame to the scene's frame: draw the world at
|
|
80
|
-
`t.at(f)` instead of `f`. Speed is what you key and scene time is its exact integral, so time is
|
|
81
|
-
continuous, never runs backwards, and stays a pure function of the frame.
|
|
82
|
-
|
|
83
|
-
```ts
|
|
84
|
-
import { timeRemap } from "./timeRemap";
|
|
85
|
-
|
|
86
|
-
const t = timeRemap([
|
|
87
|
-
{ f: 84, speed: 0.3, ramp: 8 }, // ease into slow motion before the peak
|
|
88
|
-
{ f: 120, speed: 0, keepsMoving: "her name writes itself" }, // freeze: the world stops, the writing does not
|
|
89
|
-
{ f: 150, speed: 1, ramp: 14 }, // ease back to real time
|
|
90
|
-
]);
|
|
91
|
-
world(g, t.at(f)); // the remapped scene
|
|
92
|
-
name(g, f); // the writing, on the film's own frame
|
|
93
|
-
cues.push({ frame: t.filmFrameOf(LANDING), kind: "paper" }); // a sound on a remapped event
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
- **A ramp eases the speed**, on a smoothstep (or `curve: "linear"`), so it starts and ends with
|
|
97
|
-
no kick. `ramp` defaults to 0, a deliberate hard change of speed; give it frames to glide. A slowed scene is asked for frames between its frames, so it must
|
|
98
|
-
draw at fractional time (motion is a function of time, never of a frame counter).
|
|
99
|
-
- **Score and sound stay on real time.** The score never slows; effects are cued by film frame.
|
|
100
|
-
`filmFrameOf(sceneFrame)` gives the first film frame that shows a scene event, which is where
|
|
101
|
-
its sound goes.
|
|
102
|
-
- **A freeze must keep something moving.** A `speed: 0` key without `keepsMoving` (in words)
|
|
103
|
-
throws, and so does a speed under 0.01 (`MIN_SPEED`), which looks frozen without saying so: a frozen frame with nothing moving is dead air, and the gate fails it. Drive the thing
|
|
104
|
-
that moves (the name being written, the camera still creeping in) from the film's frame `f`.
|
|
105
|
-
`t.freezes` lists each stop with what keeps moving.
|
|
106
|
-
- **Once a film for each.** One slow motion at the peak, one freeze on the telling pose (deck
|
|
107
|
-
cards `emph-time-ramp`, `type-freeze-and-name`). The second halves the first.
|
|
108
|
-
|
|
109
|
-
## Shake
|
|
110
|
-
|
|
111
|
-
`shake({ from, to, amp, seed, freq, rot, attack })` registers an impact or a handheld stretch:
|
|
112
|
-
|
|
113
|
-
- **amp in SCREEN pixels**, so the shake reads the same at any dolly or lens; **rot** in radians at full
|
|
114
|
-
strength, about the frame's centre. A small rotation is what actually sells handheld.
|
|
115
|
-
- The envelope is an **attack ramp** (default 2 frames) into a **squared decay**: full strength
|
|
116
|
-
at the hit, gone a beat later. An impact rings down; it does not stop mid-air.
|
|
117
|
-
- The motion is **low-frequency gradient noise**, seeded, never white noise per frame. Static
|
|
118
|
-
per frame reads as a faulty projector; smooth noise reads as mass. `freq` is cycles per frame
|
|
119
|
-
(default 0.35, about 10 Hz at 30 fps; drop it for a heavier camera).
|
|
120
|
-
- Shake is folded into `shaken(f)`, which `begin` and `toScreen` read, so the drawn world and
|
|
121
|
-
any projected overlay shake together. `at(f)` stays clean for driving things that must not
|
|
122
|
-
shake (the score, a cue grid).
|
|
123
|
-
|
|
124
|
-
## Line weight at close range
|
|
125
|
-
|
|
126
|
-
Ink is authored at some view; at a screen scale S (dolly times lens) the same nib reads S times
|
|
127
|
-
heavier. Divide stroke widths by `weight(cam)` = S^0.35. Not S: a little weight gain is what
|
|
128
|
-
makes a close-up feel close rather than enlarged.
|
|
129
|
-
|
|
130
|
-
## The two drawing paths
|
|
131
|
-
|
|
132
|
-
```ts
|
|
133
|
-
// transform path: the world moves, you draw in world units
|
|
134
|
-
cam.begin(g, f); // hero plane
|
|
135
|
-
meadow(g, f);
|
|
136
|
-
cam.end(g);
|
|
137
|
-
cam.begin(g, f, 2.2); // a farther plane
|
|
138
|
-
hills(g, f);
|
|
139
|
-
cam.end(g);
|
|
140
|
-
|
|
141
|
-
// projector path: ask where things are, draw them there (cached surfaces, screen-space type)
|
|
142
|
-
const at = cam.toScreen(flower.centre, f, flower.z);
|
|
143
|
-
const k = cam.scaleAt(cam.at(f), flower.z);
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
`toWorld(s, f, z)` inverts `toScreen`, for hit-testing or for pinning world content to a screen
|
|
147
|
-
point. The camera never touches the context itself, the clock, or `Math.random`: it is
|
|
148
|
-
arithmetic over `(frame, keys, seed)`, which is what keeps the determinism contract intact.
|