@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,425 +0,0 @@
|
|
|
1
|
-
# Painting films
|
|
2
|
-
|
|
3
|
-
Read before building a film in styles 13-16 (`references/styles.md`). The painting kit (sections 3-8, 10 and
|
|
4
|
-
11) is implemented in `assets/painting.html`, with a demo scene: a calm lake with a drifting cloud band,
|
|
5
|
-
glitter and reeds. `init.sh --painting` scaffolds it as `index.html`, and the demo renders out of the box.
|
|
6
|
-
`examples/lake-dawn` in the repository is a finished 15-second film built this way: a mountain lake at
|
|
7
|
-
sunrise that is drawn, painted and brought to life; its scene adds foliage tufts, birds, mist and a boat.
|
|
8
|
-
The surf in section 9 is a recipe with no code here: write it in the scene block on `field`, `gens`,
|
|
9
|
-
`stagger` and `dabFast`.
|
|
10
|
-
|
|
11
|
-
## 1. What a painting film is
|
|
12
|
-
|
|
13
|
-
One still oil painting, built once per (seed, width) from cached layers of brush marks. The film shows it
|
|
14
|
-
in three media without a cut: a sepia pencil drawing computed from the painting appears on paper, the paint
|
|
15
|
-
washes in over the drawing, and the finished painting comes alive while the camera pushes in. The eye never
|
|
16
|
-
re-reads the composition; it watches the medium change.
|
|
17
|
-
|
|
18
|
-
Plates are chapters of time, not pictures. Every plate calls one function, `drawPainting(S)`, which reads the
|
|
19
|
-
moment from the cues and draws the same painting in the state that moment asks for. Plates keep the beat grid
|
|
20
|
-
and give the cues a place; all of them have `cutIn: false, cutOut: false`.
|
|
21
|
-
|
|
22
|
-
The page is the plate skeleton's engine with two blocks above the plates: the painting kit (between
|
|
23
|
-
`/* ===== painting kit ===== */` and `/* ===== end painting kit ===== */`), which knows nothing about the
|
|
24
|
-
view, and the scene (`/* ===== scene ===== */` to `/* ===== end scene ===== */`), which is data and builders
|
|
25
|
-
for one view. A new film replaces the scene block and keeps the kit.
|
|
26
|
-
|
|
27
|
-
## 2. When
|
|
28
|
-
|
|
29
|
-
Choose it when the message is a place, a memory, a season, a quiet thank-you, or a thing becoming real (a
|
|
30
|
-
sketch that turns into the finished picture). The reward beat, the moment the painting starts to move, carries
|
|
31
|
-
the film; the rest is the living painting and a slow push-in.
|
|
32
|
-
|
|
33
|
-
Keep other styles for text-heavy films, jokes, lists and anything cut on the beat. A painting film has one
|
|
34
|
-
view and room for one title, not a sequence of messages.
|
|
35
|
-
|
|
36
|
-
The price: the painting must hold a close look for ten seconds, so the scene takes most of the work (the
|
|
37
|
-
example's scene is 280 lines and about 70 k marks), and the first frame of each render tab builds for
|
|
38
|
-
1.3-1.6 s at 1920.
|
|
39
|
-
|
|
40
|
-
## 3. The scene contract
|
|
41
|
-
|
|
42
|
-
`SCENE` is one object the kit reads. Geometry is in logical px (short side 1080); the example keeps its lines
|
|
43
|
-
as fractions of the 16:9 frame and converts them with `toL`.
|
|
44
|
-
|
|
45
|
-
| field | what |
|
|
46
|
-
|---|---|
|
|
47
|
-
| `horizon` | y of the horizon as a fraction of the height: `depth(y)` is 0 there and 1 at the bottom, `persp(y) = 0.4 + 0.8 depth(y)` scales marks and speeds |
|
|
48
|
-
| `tRef` | the film time (s) the still's live hooks see; 0 unless a hook draws something at rest that depends on time |
|
|
49
|
-
| `layers` | back to front, the table below |
|
|
50
|
-
| `prepare(K)` | optional: shared data built once before the layers (sprite lists, reed lists, fields), kept on `K` |
|
|
51
|
-
| `after(K)` | optional: parts and sprites cut from the built layers (`K.L`), for a character that moves in pieces |
|
|
52
|
-
| `sketch(K)` | optional: the scene's own drawing as a cached layer, used instead of `pencilOf(still)` (a traced sketch, section 6) |
|
|
53
|
-
| `pencil` | `{v, blur, gain(x, y), o}`: a per-region pencil gain on the 1/4-resolution grid, blurred by `blur` cells; `o` overrides `PENCIL` |
|
|
54
|
-
| `reveal` | `{v, blur, settle, sketch, colour, offset: {sketch(x, y), colour(x, y)}}`, merged over `REVEAL` per key, `colour.finish` too: `{colour: {finish: {kmax: 0.15}}}` keeps the other finish values |
|
|
55
|
-
| `life`, `camera`, `wind` | `{ramp}`, `{cue, rate, ease, focus}` and the gust parameters: override `LIFE` |
|
|
56
|
-
| `curves(K, f, tau, life)` | extra per-frame fields for the sound |
|
|
57
|
-
|
|
58
|
-
A layer record:
|
|
59
|
-
|
|
60
|
-
| field | what |
|
|
61
|
-
|---|---|
|
|
62
|
-
| `name` | the cache's name and the seed of its generator |
|
|
63
|
-
| `rect()` | its logical rectangle; wider than the frame when it drifts |
|
|
64
|
-
| `paint(g, R, K, parts)` | the builder: draws once into the layer's own cache with the generator `R` |
|
|
65
|
-
| `parts` | `[{rect(), drift(tau, life)}]`: extra canvases painted in the same pass with the same generator, each moving on its own (cloud marks that drift over a sky that does not); the still is unchanged |
|
|
66
|
-
| `drift(tau, life)` | a rigid shift `[dx, dy]` |
|
|
67
|
-
| `flow(tau, life)` | an affine `[a, b, c, d, e, f]` in logical px, or pieces `[[y0, y1, A, x0, x1], ...]`, each clipped to its band on whole device rows: a drift that grows with depth, with no seam (keep the pieces continuous at their edges) |
|
|
68
|
-
| `alpha(tau, life)` | opacity; `alpha: tau => tau > 0 ? 0 : 1` hides a layer that its live hook redraws |
|
|
69
|
-
| `clip` | a polygon that the layer and its live hook are clipped to |
|
|
70
|
-
| `live(g, K, tau, life, t)` | drawn every frame after the cache: marks that move |
|
|
71
|
-
|
|
72
|
-
A layer with only `live` has no cache (birds, front reeds, foliage sprites). `drawLayer` applies a record's
|
|
73
|
-
drift, flow and alpha; `composeLive(g, K, tau, life, t)` draws every layer in order with its live hook. Every
|
|
74
|
-
drift, flow, alpha and live hook must be the identity at `tau = 0`: that is what makes the still and the first
|
|
75
|
-
living frame agree (section 11). `kit(seed, W)` builds `K`: `K.L[name]` the layer caches, `K.still` =
|
|
76
|
-
`composeLive(g, K, 0, 0, tRef)`, and on first use `K.R`, the drawing and the reveal fields (`reveals(K)`).
|
|
77
|
-
|
|
78
|
-
`drawPainting(S)` sets the camera, then draws by phase: before `wash` the paper (`paperOf`, with fibre from
|
|
79
|
-
`fibreField`) and the drawing through its time field; from `wash` the whole drawing and the still through the
|
|
80
|
-
colour field and its cap; from `done` the living layers, with the still on opaque paper (`stillOnPaper`) over
|
|
81
|
-
them fading out until `alive`. The kit draws no titles. A plate that needs one calls `drawPainting(S)`,
|
|
82
|
-
resets the transform (`S.g.setTransform(S.sc, 0, 0, S.sc, 0, 0)`; the camera is still on the context) and
|
|
83
|
-
draws the title on `TITLE_Y`.
|
|
84
|
-
|
|
85
|
-
## 4. Cues and the timeline
|
|
86
|
-
|
|
87
|
-
| cue | frame | picture |
|
|
88
|
-
|---|---|---|
|
|
89
|
-
| (start) | f0 | blank paper with its fibre |
|
|
90
|
-
| `marks` | f6 | the first pencil islands, along the top edge |
|
|
91
|
-
| | f30, f45, f54 | the drawing 50 % and 95 % uncovered, then complete; a short hold |
|
|
92
|
-
| `wash` | f60 | colour blooms start, bottom first, capped at 65 %: milky colour with the pencil showing |
|
|
93
|
-
| `finish` | f73 | the cap rises toward 0.9; early blooms fuller than late ones |
|
|
94
|
-
| `step` | f87 | the cap steps by 0.10 in one frame; per-point ceilings open, early areas first |
|
|
95
|
-
| `done` | f98 | paint complete; the still dissolves into its living layers at rest |
|
|
96
|
-
| `alive` | f105 | life ramps in over 8 frames |
|
|
97
|
-
| `push` | f110 | the camera push-in starts, with a 27-frame ease |
|
|
98
|
-
|
|
99
|
-
Plates on the 120 BPM grid: `sketch` 4 beats (f0-59), `colour` 3 beats (f60-104), `alive` the rest. The
|
|
100
|
-
`CUES` rows use fractional beats: `['sketch', 0.4, 'marks']`, `['colour', 0, 'wash']`, `['colour', 13/15,
|
|
101
|
-
'finish']`, `['colour', 27/15, 'step']`, `['colour', 38/15, 'done']`, `['alive', 0, 'alive']`, `['alive',
|
|
102
|
-
1/3, 'push']`. Scene cues (the example's `birds`) go into the same table.
|
|
103
|
-
|
|
104
|
-
The default reveal takes 3.5 s whatever the film's length; the living phase takes the rest. Films of
|
|
105
|
-
10-20 s keep the default. The time fields are in frames and tuned to these cues, so a stretched reveal moves
|
|
106
|
-
both. For a factor k on a phase: in `SCENE.reveal.sketch` multiply `t0, ax, ay, sigma, hw, top[0]` and
|
|
107
|
-
every value of `lo` except `lo[3]` (a height) by k; in `SCENE.reveal.colour` map every frame value T (`t0`,
|
|
108
|
-
both values of `lo` and both of `hi`) to `wash + k (T - 60)`, multiply `ax, ay, sigma, hw` and
|
|
109
|
-
`finish.ceil[1], ceil[2], ceil[4]` by k and divide `finish.creep` by k. A cue that only shifts moves `t0`
|
|
110
|
-
and both values of `lo` and `hi` by the same number of frames. Each of `lo` and `hi` is a [knee, limit]
|
|
111
|
-
pair and its softness is their distance: a knee moved without its limit softens the floor, so a wash moved
|
|
112
|
-
from f60 to f70 with `lo: [76, 61]` instead of `[76, 71]` opens a batch of blooms on f70 at once. Keep
|
|
113
|
-
`hi[1] + hw` at or below `done` − 1 so every point finishes before `done`. Then shoot the reveal sheet
|
|
114
|
-
(section 13).
|
|
115
|
-
|
|
116
|
-
## 5. Marks
|
|
117
|
-
|
|
118
|
-
Paint the way a painter works: a base coat, then marks region by region from back to front, then accents.
|
|
119
|
-
|
|
120
|
-
- `fieldFill(g, rect, fn, cell)`: a base coat from a colour function sampled every `cell` px and smoothed by
|
|
121
|
-
the upscale. `gridField(xs, ys, rows)` makes such a function from a coarse grid of colours, `ramp(stops)`
|
|
122
|
-
from stops along one value. Colours are `[r, g, b]` arrays: `C`, `css`, `mixc`, `hsl`, `jit`, `pickPal`.
|
|
123
|
-
- `field(name, deps, build)`, `fAt(F, x, y)`, `blurField(F, r)`: scalar fields on a 1/4-resolution grid
|
|
124
|
-
(4-px cells), cached by name and inputs, read bilinearly: a distance to the shore, a wave phase, a gain.
|
|
125
|
-
- `dab(g, x, y, len, wid, ang, col, R, o)`: a bent, tapered quad with rounded ends, its colour jittered in
|
|
126
|
-
HSL (hue ±4°, saturation ±6 %, lightness ±5 %). `o.imp`: impasto ridges, a lit edge 12 % lighter on the
|
|
127
|
-
side facing the upper left and a dark edge 15 % darker on the other (alphas 0.34 and 0.24; at 0.5 and 0.35
|
|
128
|
-
every dab reads as an outlined pebble). `o.ridgeP`: the share of dabs that get ridges. `o.br`: 3-5 bristle
|
|
129
|
-
hairlines inside the dab, `o.brP` their share. `o.rag`: ragged knife edges. Also `bend`, `taper`, `alpha`,
|
|
130
|
-
`jit`.
|
|
131
|
-
- `blade(g, x, y, len, w0, ang, bend, col, o)`: a grass or reed blade, a tapered quadratic curve from its
|
|
132
|
-
root, the tip bent `bend` further; `o.lit` a thin lighter edge.
|
|
133
|
-
- `limbSamples(L, w0, w1, step, wobble)` and `fillLimb(g, S, col, k, off)`: a tapered branch along a
|
|
134
|
-
centreline. The samples carry normals for bark marks, lenticels and a shadow band.
|
|
135
|
-
- `paintRegion(g, R, r, seed)`: a jittered grid of dabs at `cover` times full coverage (default 2) inside a
|
|
136
|
-
polygon. Angle: `flow` plus low-frequency noise, ±`angJit` (10°). Colour: `r.col(x, y, v, R)`, `v` a
|
|
137
|
-
cluster noise over `cluster` px (60-150: patches of one colour, not confetti). Sizes times `persp(y)` with
|
|
138
|
-
`persp: true`. A share `spill` (0.2) of the dabs is left unclipped so borders stay painterly. Then
|
|
139
|
-
`accents` and `lights`: `{share, len, wid, dl or col, alpha}`.
|
|
140
|
-
|
|
141
|
-
The example's marks for scale: sky 26-64 × 9-17 px at cover 1.5; far ridges 18-40 × 6-11; conifer slopes
|
|
142
|
-
vertical 10-22 × 4-8 at cover 2.8; water in rows of 24-70 × 2.6-5.5 px times `persp`.
|
|
143
|
-
|
|
144
|
-
**The drawing needs sparse dark accents.** The pencil turns local contrast into ink. Even, same-size dabs give
|
|
145
|
-
a grey fog: in a test on open water, a median sketch luma of 209 and 0.1 % of pixels below 150, where a drawing
|
|
146
|
-
that reads as pencil has about 220 and 3-12 %. Lay 3-5 % of each region as thin dark marks 30-60 levels darker
|
|
147
|
-
than their surroundings (troughs, shadow sides, twigs, gaps between blades), for example `accents: {share:
|
|
148
|
-
0.04, len: [8, 22], wid: [1.5, 3], dl: -0.14}`. Keep ridges faint in the sky and in open water: they become
|
|
149
|
-
ink. Give the focal object a dark skeleton: a tree whose limbs hide under even foliage draws as a grey puff.
|
|
150
|
-
|
|
151
|
-
Randomness comes only from the builder's `R` or `rng(hash(seed, name, ...))`, geometry is in logical units,
|
|
152
|
-
and a builder never draws into a pooled canvas.
|
|
153
|
-
|
|
154
|
-
## 6. The drawing
|
|
155
|
-
|
|
156
|
-
`pencilOf(K, src, o)` is a pencil filter of the painting, cached next to it (same rect, same 1.14× scale). It
|
|
157
|
-
works on luma Y and the dodge ratio D = Y / blur(Y): 1 on flat paint, below 1 in a mark darker than its
|
|
158
|
-
surroundings, above 1 on a highlight.
|
|
159
|
-
|
|
160
|
-
- Marks: v = D(σ 8)^1.8 · D(σ 2)^1.2 · D(σ 1)^0.8, σ in logical px. σ 8 draws a mark's body, σ 2 its
|
|
161
|
-
edges as crisp lines, σ 1 its ridges and bristles as grain.
|
|
162
|
-
- Ink = (1 − v) · gain where v < 1, so the gaps between marks stay at paper. Where v > 1 a highlight lifts
|
|
163
|
-
above the paper by 0.35 (v − 1), at most 0.05 (about 10 levels).
|
|
164
|
-
- Tone: darker paint adds a grained shade (1 − L^0.05) · 1.8 · gain on the 60 % of pixels that a paper-tooth
|
|
165
|
-
grain (cells 2 × 1.2 px) catches, so dark areas read as a pencil wash with paper specks, not a grey veil.
|
|
166
|
-
- A linear ramp from ink `#30281D` to paper `#F2EBDC`, plus the paper's fibre (±1.5 levels, fibres 15-45 px).
|
|
167
|
-
|
|
168
|
-
`PENCIL` holds these defaults; `SCENE.pencil.o` overrides them. `SCENE.pencil.gain(x, y)` scales the ink per
|
|
169
|
-
region, 1.05-1.4 (the example: sky 1.28, land 1.25, reeds 1.3, water 1.08). The gain scales ink only; the
|
|
170
|
-
marks decide where it goes. A gain below 1 loses the thin dark lines that carry a drawing first: a tree drawn
|
|
171
|
-
at 0.85 lost its skeleton.
|
|
172
|
-
|
|
173
|
-
Computed, not drawn: the colour lands exactly on its own lines, and a change to the painting changes the
|
|
174
|
-
drawing with it. Look at the drawing alone before timing any reveal (section 13).
|
|
175
|
-
|
|
176
|
-
A film can start from someone's drawing instead. Trace the sketch into polygons by a script (ink levels as
|
|
177
|
-
even-odd paths and the silhouette: data, not an image), paint the subject from those polygons (a flat recolour,
|
|
178
|
-
then short marks sampled from it that run along the strokes, then the darkest ink again), and give the scene a
|
|
179
|
-
`sketch(K)` that draws the kit's pencil of everything else and the traced lines over clean paper on the subject.
|
|
180
|
-
The drawing phase then shows that sketch, and the colour lands on it. A subject that moves in parts (a head, a
|
|
181
|
-
tail) is cut in `after(K)`; a bend without a second pose is a mesh warp of the subject's cache (a grid of
|
|
182
|
-
triangles, each an affine map of its piece, vertices moved by a weight times the head's rigid motion, the least
|
|
183
|
-
moved drawn first) rather than a cut-out head, which leaves holes. A pose the sketch cannot reach stays out of
|
|
184
|
-
the story: a seated animal lowers its head about a quarter of the frame, not to the floor.
|
|
185
|
-
|
|
186
|
-
## 7. Reveals
|
|
187
|
-
|
|
188
|
-
Two time fields on the 1/4-resolution grid give, per point, the frame at which the drawing (`Ts`) and the
|
|
189
|
-
colour (`Tc`) arrive. `timeField(name, seed, o)`:
|
|
190
|
-
|
|
191
|
-
T(x, y) = t0 + ax·x + ay·y + sigma·N(x, y)
|
|
192
|
-
|
|
193
|
-
x and y are normalised; N is an fBm of three octaves (cells c, c/2, c/4 with c = `cell` of the width,
|
|
194
|
-
amplitudes `oct`, each lattice rotated by `rot`) with its best-fit plane removed and unit std. Without the
|
|
195
|
-
detrend a seeded fBm carries a random slope that bends the reveal's direction per seed. Without the rotation
|
|
196
|
-
an axis-aligned late tongue shows as a straight ghost stripe. Soft floors and ceilings `lo`, `hi` ([knee,
|
|
197
|
-
limit], tanh) keep the paper blank until `marks`, keep colour out before `wash`, and finish every point by
|
|
198
|
-
`done` − 1, so the switch at `done` shows no step.
|
|
199
|
-
|
|
200
|
-
`maskAt(slot, F, f, o)` thresholds a field at frame f: alpha = smoothstep(T − hw, T + hw, f) · cap, then an
|
|
201
|
-
optional 3×3 box blur, into a pooled 1/4-resolution canvas rewritten every frame. `through(g, src, M, slot,
|
|
202
|
-
d)` draws a cache through it under the camera. `revealFields(seed)` builds the fields without pixels.
|
|
203
|
-
|
|
204
|
-
Defaults (`REVEAL`):
|
|
205
|
-
- Drawing: T = 9.7 + 14.2x + 25.8y frames, sigma 3.2, cell 0.08, hw 1.25 (2.5 frames per point). A diagonal
|
|
206
|
-
from the top left, sky first. Coverage 5 / 50 / 95 % at f15 / f30 / f45, feather about 33 px, about 30
|
|
207
|
-
separate islands.
|
|
208
|
-
- Colour: T = 86.3 + 3.2x − 15.3y frames, sigma 6.2, cell 0.10, hw 4, one blur. Bottom first, against the
|
|
209
|
-
drawing's direction: the drawing comes down from the sky, the colour rises from the ground. Feather 150-250
|
|
210
|
-
px: blooms, not a sweep. The first blooms are separate islands (4-8 by f69).
|
|
211
|
-
|
|
212
|
-
The top-edge islands: `top: [frames, band, cell, thr, soft]` brings the top edge `frames` earlier, fading
|
|
213
|
-
over `band` of the height; with `cell` (a fraction of the width) a value noise gates it along x, so the edge
|
|
214
|
-
opens as a few separate drips, not a strip. A floor that rises below the band (`lo[2..4]`: `lo[2]` frames per
|
|
215
|
-
frame height below y = `lo[3]`, at most `lo[4]`) keeps the rest from opening first. Without them the first ink
|
|
216
|
-
lands wherever the noise dips, often on a side edge. The example: `top: [3.5, 0.06, 0.05, 0.05, 0.3]`, `lo:
|
|
217
|
-
[8.5, 6.5, 100, 0.04, 3.5]`.
|
|
218
|
-
|
|
219
|
-
The two-stage colour cap (`finishOf`): blooms stop at 0.65, the painting over the drawing with the pencil
|
|
220
|
-
showing through; this milky moment is the most painterly of the film. From `finish` the base cap rises by
|
|
221
|
-
0.25 to `done`, with a step of 0.10 at `step`. Per point the cap creeps with age (0.003 per frame, at most
|
|
222
|
-
0.3) under a ceiling of 0.9 that opens to 1 over 2 frames between `step` + 5 and `done` − 3, earlier where the
|
|
223
|
-
colour came earlier. The lines vanish as the paint reaches 1. A settling glaze (`settle` 0.105, `desat`) pulls
|
|
224
|
-
saturation 10 % toward grey from `finish` and lets go between `done` and `alive`.
|
|
225
|
-
|
|
226
|
-
Offsets: `SCENE.reveal.offset.sketch(x, y)` and `.colour(x, y)` add frames per region before the knees,
|
|
227
|
-
blurred by `SCENE.reveal.blur` cells: the glow around the sun earlier, a tree later, the far water left in
|
|
228
|
-
pencil a little longer. They tilt the ramp; refit `ay` so the overall direction stays. Change `v` with them.
|
|
229
|
-
|
|
230
|
-
Style 15 holds the plateau: place `finish`, `step` and `done` after the frames that show it and set
|
|
231
|
-
`colour.finish.kmax` to about 0.15, so blooms stop at 0.65 and creep to about 0.8.
|
|
232
|
-
|
|
233
|
-
A reveal with too little noise against its ramp reads as a wipe. Keep sigma at 3 frames or more for the
|
|
234
|
-
drawing and 6 for the colour, and feathers of 25-60 px and 120-260 px.
|
|
235
|
-
|
|
236
|
-
## 8. Life
|
|
237
|
-
|
|
238
|
-
From `alive` the amplitude L = `lifeAt(f)` ramps as 1 − (1 − x)^4, x = (d + 1) / 8, d frames since the cue:
|
|
239
|
-
0.41 on the cue frame, 0.85 two frames later, 1 at eight. Life is visible at once and then settles. The life
|
|
240
|
-
clock tau = `lifeClock(f)` (seconds) is its integral, so a displacement written as speed × tau ramps in with L
|
|
241
|
-
and is 0 before the cue. Drift and flow read tau; live hooks also get t, the film time, which the wind reads.
|
|
242
|
-
|
|
243
|
-
`gust(t, seed)` is one wind for the picture and the soundtrack: a 1.05 Hz carrier whose amplitude (±50 % over
|
|
244
|
-
1.8 s) and phase (up to 3 rad over 1.4 s) wander, a 0.45 Hz swell (0.35), a 1.6 Hz ripple (0.25) and smooth
|
|
245
|
-
noise (0.8 over 0.22 s); about −2..2. A single sine reads as a metronome: the crown comes back every period.
|
|
246
|
-
A gust that crosses the frame is read with a delay, gust(t − (LW − x) / v), v 600-700 px/s, right to left;
|
|
247
|
-
the example's crown reads the same signal 0.25 s after the reeds at its feet.
|
|
248
|
-
|
|
249
|
-
| what | how (the example's numbers) |
|
|
250
|
-
|---|---|
|
|
251
|
-
| clouds | cloud marks painted as `parts` of the sky, drifting 2-5 px/s by height |
|
|
252
|
-
| mist | `drift` 3 px/s, `alpha` breathing 1 → 0.75 → 1 over 7 s |
|
|
253
|
-
| a boat | `flow`: a 2 px bob and a 0.6° roll about its centre, period 3.1 s |
|
|
254
|
-
| reeds | front blades drawn every frame with `blade()` (about 370 in the example, 680 in the demo): angle + 0.6 w, bend + w, w = L (0.055 gust + 0.02 noise) × mobility; the dense back mass stays cached |
|
|
255
|
-
| foliage | tufts as sprites: each rasterised once at the cache scale into its own small canvas, its root the pivot, swung each frame as a pendulum: angle L m (−0.07 w + 0.035 n), shift L m (4 w + 1.5 n) px, mobility m 0.3-1.2 growing away from the trunk |
|
|
256
|
-
| birds | a `live`-only layer for 5 s from a cue: two-dab V marks that flap and glide |
|
|
257
|
-
| water, glitter | section 9 |
|
|
258
|
-
| hills, trunk, jetty | still |
|
|
259
|
-
|
|
260
|
-
A crown moves on one signal. The example's tufts read the gust at their own x, with the crossing delay
|
|
261
|
-
above, so a gust runs through the crown from right to left. Never give each tuft a random delay of its own:
|
|
262
|
-
a hashed 0.2 s delay made the parts of a crown ripple out of phase. Tufts differ by amplitude (the mobility
|
|
263
|
-
m) and their own slow noise; a small hashed tilt of the swing axis (±8°) separates neighbouring sprays
|
|
264
|
-
further. Motion ghosts, if you add them, go only where a tuft moves more than 3 px in 1/90 s; ghosts on
|
|
265
|
-
every tuft cost about 50 ms a frame.
|
|
266
|
-
|
|
267
|
-
Marks carried by a moving field. A mark re-sampled on a screen grid every frame cannot move, and a persistent
|
|
268
|
-
particle cannot be born where the pattern opens. Sample generation n of the marks once, at its birth time
|
|
269
|
-
n·T, on a jittered grid (cached per seed and n), and carry each mark along the field so it keeps its phase.
|
|
270
|
-
Show it for one period T from a hashed offset o, with fades of F periods at both ends: `gens(tau, T)` lists
|
|
271
|
-
the three generations alive and their ages, `stagger(o, a, F)` gives a mark's visibility. The three add up to
|
|
272
|
-
one full set at any time, and nothing pops. T 3-5 s, F 0.1. Marks drawn every frame use `dabFast`, the dab
|
|
273
|
-
outline with ready fill and ridge styles and no generator, so a mark looks the same on every frame.
|
|
274
|
-
|
|
275
|
-
## 9. Water
|
|
276
|
-
|
|
277
|
-
**A surf** (a recipe; no code ships for it) is crests on a phase field. phi (1/4 resolution) is a soft
|
|
278
|
-
minimum of the distances to an offshore front and to the shore, each divided by the crest spacing (0.02 +
|
|
279
|
-
0.12 depth^0.7) · height, plus a noise warp. Crest k lies on phi = k + dk, with dk up to ±0.25 hashed per
|
|
280
|
-
crest: an irregular train whose spacing varies, so the surf does not come back every period. Crests advance
|
|
281
|
-
at 0.07 spacings/s far out (about 4 px/s) to 0.21 near the shore (15-25 px/s), with ±30 % noise across the
|
|
282
|
-
bay.
|
|
283
|
-
- Crest-bound marks (the roll, its lip, the dark face under it, curls, spray) are sampled per generation and
|
|
284
|
-
carried along the moving phase by one soft-capped Newton step.
|
|
285
|
-
- Water-bound foam (whitewater, lace, wash) is deposited when a breaking crest passes a point and then holds,
|
|
286
|
-
drifting at most 6 px/s and fading in over 0.45 s. Held lace lives 1.3-1.7 crest intervals, so a point stays
|
|
287
|
-
covered until the next crest renews it. The foam field holds while the fronts move through it; foam that
|
|
288
|
-
rides with the crests reads as a conveyor belt.
|
|
289
|
-
- Breaks are events per crest, hashed every 1.5-4 s: they switch on in 0.25 s over 80-200 px and peel along
|
|
290
|
-
the crest at 10 px/s. The foam field grows through the shot.
|
|
291
|
-
- Fade marks where the phase gradient is ill-conditioned (ridges, U-turns): there the Newton step hops and
|
|
292
|
-
marks buzz.
|
|
293
|
-
|
|
294
|
-
It draws 6-10 k marks per frame; a living frame with the surf takes 96-140 ms at 1920. A generation takes
|
|
295
|
-
about 60 ms to build: split it into bands, each with its own generator, and build one band per frame over the
|
|
296
|
-
frames before the generation is first drawn. The result does not depend on the order of the builds.
|
|
297
|
-
|
|
298
|
-
**A calm lake** is a painted mirror of the layers already built. In the lake's builder, draw the sky, sun and
|
|
299
|
-
ridge caches (with their parts) flipped about the shore line (`translate(0, 2·y0)`, `scale(1, -1)`), darken
|
|
300
|
-
and cool them toward the viewer with a gradient (alpha 0.18 at the shore to 0.8 at the bottom), read the result
|
|
301
|
-
back (`getImageData`, inside the build) and repaint it as horizontal marks: 24-70 × 2.6-5.5 px times `persp`,
|
|
302
|
-
rows 3.2 px times `persp` apart, colours sampled from the mirror. Add ripple streaks (the mirror 12 % lighter,
|
|
303
|
-
and dark troughs), a gold path under the sun (dashes spread 0.012-0.07 of the width, wider toward the viewer)
|
|
304
|
-
and reflections of posts and hulls as short vertical dabs. The flipped image alone reads as a photo; repainted,
|
|
305
|
-
it reads as paint. The lake layer comes after the layers it mirrors.
|
|
306
|
-
|
|
307
|
-
Trembling: once alive, the static lake is hidden (`alpha: tau => tau > 0 ? 0 : 1`) and its `live` hook draws
|
|
308
|
-
the same cache in horizontal strips 3-9 px tall (thinner at the shore), each shifted sideways by
|
|
309
|
-
amp · (0.7 n(y / (10 + 30d), 0.55 tau) + 0.3 sin(2π (tau / 2.3 + y / (40 + 80d)))),
|
|
310
|
-
amp = (0.4 + 5.5 d^1.3) · L px, d = `depth(y)`. Each strip reads 1.5 cache pixels more than its step, so
|
|
311
|
-
neighbours overlap by about a device row and no seam opens. At tau 0 the hook draws nothing and the still is
|
|
312
|
-
unchanged.
|
|
313
|
-
|
|
314
|
-
Glitter fades and never blinks: a fixed set of sparkles (340 on the gold path), each with alpha = L ·
|
|
315
|
-
smoothstep(0.25, 0.75, n(tau / per + ph)), per 0.7-1.5 s, drifting under 1 px/s. A sparkle lives about a
|
|
316
|
-
second; fewer than 0.5 % of the glitter's pixels change by more than 60 levels between frames. Sparkles switched
|
|
317
|
-
on and off by a hash read as a screensaver within seconds.
|
|
318
|
-
|
|
319
|
-
## 10. The camera
|
|
320
|
-
|
|
321
|
-
`camAt(f)` is a push-in about `focus` from the `push` cue: z = exp(rate · tc), with tc = d² / (2E) during the
|
|
322
|
-
ease-in (d frames since the cue, E = `ease` frames) and E/2 + (d − E) after it, in seconds. Defaults: rate
|
|
323
|
-
0.01359 per second, ease 27 frames, focus the centre: ×1.136 at 9.8 s after `push`. The example pushes at
|
|
324
|
-
0.0088 about (0.62, 0.40): ×1.10 over 11.3 s. For a final zoom z1 on the last frame fEnd:
|
|
325
|
-
rate = ln(z1) · FPS / (fEnd − push − E/2).
|
|
326
|
-
|
|
327
|
-
`camSet` puts the camera on the context before anything is drawn, so paper, drawing, masks and paint stay
|
|
328
|
-
registered. Every layer is drawn from its cache under that transform, and caches are built `OVER` = 1.14
|
|
329
|
-
times larger than the output, so the push never upsamples. Keep the final zoom at or below `OVER`; a deeper
|
|
330
|
-
push needs a larger `OVER`, and every cache grows with its square. No pan: the push reads as leaning in.
|
|
331
|
-
|
|
332
|
-
## 11. Caches and determinism
|
|
333
|
-
|
|
334
|
-
The painting is built once and every frame composes caches. These rules keep `check.mjs` green:
|
|
335
|
-
|
|
336
|
-
1. Key every cache by name, seed, output width, aspect, `OVER`, `PAINT_V` (the kit's recipe version), its
|
|
337
|
-
rect and every parameter its build reads. `layer()` does the first ones; `pencilOf` adds the source's key
|
|
338
|
-
and every pencil value. A key cannot see into a function: a scene record that passes functions (`pencil`,
|
|
339
|
-
`reveal`) carries a `v`; change it with them.
|
|
340
|
-
2. A cache is never a pooled canvas. `cvs()` canvases are rewritten every frame; `LAYERS` are built once, each
|
|
341
|
-
on its own canvas with its own transform, and never drawn into again.
|
|
342
|
-
3. Build from fixed inputs only: the still from `composeLive` at rest, the drawing from the still, the lake's
|
|
343
|
-
mirror from built layers. A build that reads the frame being rendered changes with render order.
|
|
344
|
-
4. `getImageData` only inside a build. Per-frame pixel work stays at 1/4 resolution (masks, a 3×3 blur in JS,
|
|
345
|
-
1-3 ms). No `ctx.filter` blur per frame.
|
|
346
|
-
5. Noise from a seeded 256 × 256 lattice table (`noise(seed)`, `n.fbm`). A hash per lookup is far slower:
|
|
347
|
-
two reveal fields take 13 ms from the table and about 200 ms with a hash.
|
|
348
|
-
6. Build at the start of a frame, before drawing. `reveals(K)` builds the drawing and the fields the first
|
|
349
|
-
time a frame before `done` needs them; frames after `done` never build them.
|
|
350
|
-
7. The still must equal the living frame at life 0. At tau 0 every life term is the identity, so the still and
|
|
351
|
-
the layers at rest show the same marks in the same places. They differ only by resampling (one image
|
|
352
|
-
against layers drawn one by one: 1.9 levels on average in the example, 2 % of pixels by more than 12). From
|
|
353
|
-
`done` to `alive` the still fades over its layers at rest on frames that do not move, which hides it, and
|
|
354
|
-
life starts at full visibility on its cue. Test: shoot f(alive) − 1, f(alive) and f(alive) + 1 and diff
|
|
355
|
-
them. The first step is of the order of the second (the example: 6.0 then 4.5 levels on average); a pop is
|
|
356
|
-
a first step several times larger, or change in parts of the picture that do not move.
|
|
357
|
-
8. The scene's coordinates are fractions of the 16:9 frame. A 9:16 film is its own layout: the same fractions
|
|
358
|
-
stretch the picture.
|
|
359
|
-
|
|
360
|
-
`check.mjs` catches the rest: its "fresh", "after another width" and "after a sweep" orders are these traps.
|
|
361
|
-
|
|
362
|
-
## 12. Costs
|
|
363
|
-
|
|
364
|
-
At 1920 on an M-series Mac, one render tab:
|
|
365
|
-
|
|
366
|
-
| | the example (a calm lake) |
|
|
367
|
-
|---|---|
|
|
368
|
-
| cold build of the still (about 70 k marks) | 1.3 s; 1.5 s with the drawing and the fields |
|
|
369
|
-
| of which the lake's mirror, repainted in 30 k marks | 0.7 s |
|
|
370
|
-
| the pencil filter | 0.2-0.3 s |
|
|
371
|
-
| a reveal frame | 30-45 ms |
|
|
372
|
-
| a living frame | 40 ms |
|
|
373
|
-
| PNG encoding, render only | 140-160 ms |
|
|
374
|
-
| full render, 5 tabs | 450 frames in 25 s |
|
|
375
|
-
| HTML | 91 KB (the kit 50 KB) |
|
|
376
|
-
|
|
377
|
-
A surf scene (section 9) costs more: a cold build of 1.4-1.6 s and a living frame of 96-140 ms with 6-10 k
|
|
378
|
-
surf marks. Budgets: a living frame under 150 ms, a cold build under 2 s per tab, the HTML under 200 KB.
|
|
379
|
-
|
|
380
|
-
A dab costs 8-20 µs at 1920, and its two ridge strokes are about 10 µs of that: set `ridgeP` 0.3-0.6. One
|
|
381
|
-
path per mark is faster than batched paths in Chrome's canvas. Front blades cost about 1 ms per 100 a frame
|
|
382
|
-
(the demo's 680: 6-7 ms). Many live marks under one clip are drawn over an opaque copy of the frame that is
|
|
383
|
-
clipped once (`composeLive` does this for a layer with `clip` and `live`; clipping every mark costs 35 %
|
|
384
|
-
more). A slow living frame draws too many marks: cache what does not move, and draw fewer, larger live
|
|
385
|
-
marks.
|
|
386
|
-
|
|
387
|
-
## 13. Review
|
|
388
|
-
|
|
389
|
-
The drawing first, then the reveal, then life.
|
|
390
|
-
|
|
391
|
-
1. The drawing alone: shoot the frame before `wash` at full size, and 1:1 crops. Paper shows between marks,
|
|
392
|
-
darks sit where the painting has shadow, the focal object has a dark skeleton, water is dashes rather than
|
|
393
|
-
a veil. A grey fog means even marks (section 5).
|
|
394
|
-
2. The reveal: `FROM=0 TO=110 node scripts/look.mjs sheet 12 480 7 shots/reveal.png`. Each cell reads as
|
|
395
|
-
one of: paper (f0-5), islands along the top (f8-15), drawing (f30-59), milky colour with the pencil
|
|
396
|
-
showing (f66-86), finished (f98), alive (from f105). The first blooms are separate islands; no straight
|
|
397
|
-
edge or stripe crosses the frame.
|
|
398
|
-
3. Diffs across the cues: f(wash) − 1 and f(wash), f(done) − 1 and f(done), f(alive) − 1, f(alive) and
|
|
399
|
-
f(alive) + 1 (section 11).
|
|
400
|
-
4. Life: a section sheet of 12 cells over 4 s, and strips of 4-8 consecutive frames of each moving part at 2×.
|
|
401
|
-
Motion that reads as a screensaver gives the film away: glitter that blinks, sprites that slide rigidly, a
|
|
402
|
-
crown that bobs on one frequency, a surf that moves as one sheet, a pattern that comes back every period, a
|
|
403
|
-
mark that hops for one frame. What should hold still holds still.
|
|
404
|
-
5. The push: the last frame is as sharp as the first living one and still framed on the point of interest.
|
|
405
|
-
6. `node scripts/check.mjs` says OK.
|
|
406
|
-
|
|
407
|
-
## 14. Changing a painting film
|
|
408
|
-
|
|
409
|
-
- A colour or a mark changes the drawing with it: look at the drawing alone again, then the reveal sheet.
|
|
410
|
-
- Another seed is another impression of the same composition: other dab positions, other islands and blooms.
|
|
411
|
-
Four seeds of one film met the same reveal timings within 2 frames.
|
|
412
|
-
- Retiming moves the cues and the time fields together (section 4); export the curves and regenerate the sound.
|
|
413
|
-
- A new view replaces the scene block and keeps the kit. The example was built on the kit unchanged in about
|
|
414
|
-
50 minutes: the scene 30, looking and fixing 10, check, render and sound 10.
|
|
415
|
-
|
|
416
|
-
## 15. Sound
|
|
417
|
-
|
|
418
|
-
Recipes are in `references/audio.md`, section 8. A quiet bed plays from frame 0 under a fade-in, and
|
|
419
|
-
nothing follows the pencil (no pencil or whoosh sounds). The ambience opens with life: a wave whose onset
|
|
420
|
-
leads `alive` by 0.35 s, or wind, water and birds. `RISO.curves()` exports per frame `sketch` and `colour`
|
|
421
|
-
(the revealed shares), `life`, `gust`, `z` and the scene's own fields (`SCENE.curves`), all computed without
|
|
422
|
-
pixels by `paintingCurves`. Wind and rustle follow `gust`, the signal the reeds and the crown move on, with a
|
|
423
|
-
slower onset (a 1.8 s smoothstep from `alive`) so the ambience does not switch on in one frame. Birds and
|
|
424
|
-
other accents come after `alive`, never on the cue itself. The example's `audio.mjs` is a short worked case:
|
|
425
|
-
wind and rustle on the gust, lapping water, birds after `alive`.
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Photos as polygons
|
|
2
|
-
|
|
3
|
-
A photo never enters the HTML as pixels. `scripts/trace.py` turns it into posterized closed
|
|
4
|
-
polygons (a few thousand integer points), `scripts/inject.mjs` writes them between the
|
|
5
|
-
`PORTRAIT` markers, and the plate draws them as fills, outlines or both. The result reads as
|
|
6
|
-
a screen-printed or drawn likeness and animates like any other vector object.
|
|
7
|
-
|
|
8
|
-
## 1. Pipeline
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
bash scripts/portrait.sh photo.jpg --height 900 --levels 0.14,0.28,0.42,0.56,0.70,0.84 --blur 1.6 --minarea 36
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
`portrait.sh` runs the tracer, writes `portrait.js`, injects it, and points you at
|
|
15
|
-
`shots/portrait_preview.png` (posterization with contours overlaid, for eyes only).
|
|
16
|
-
Then shoot the portrait plate and look.
|
|
17
|
-
|
|
18
|
-
Steps inside `trace.py`:
|
|
19
|
-
|
|
20
|
-
1. Greyscale, resize to `--height` (800–900 px), autocontrast with a 0.2 % cutoff
|
|
21
|
-
(a 1 % cutoff eats whole regions when they fall in the histogram tail; `--nocontrast`
|
|
22
|
-
turns it off), Gaussian blur `--blur` (1.4–1.8; more blur, fewer specks).
|
|
23
|
-
2. Background removal: the bright connected region touching the top edge and the upper
|
|
24
|
-
corners is set to black. `--bgthr` 0.86 by default; raise to 0.9 if a bald head or a
|
|
25
|
-
white shirt gets eaten; `--nobg` keeps the background.
|
|
26
|
-
3. Thresholds from `--levels` (five or six). For faces, cluster them in 0.55–0.85 where
|
|
27
|
-
skin lives; the shirt and hair fall out of the lower levels on their own.
|
|
28
|
-
4. Vectorized marching squares with interpolation, closure by zero padding, segment
|
|
29
|
-
linking through shared edges, Douglas–Peucker with `--tol` 0.9 px at 800–900 px height,
|
|
30
|
-
contours with area under `--minarea` (24–40 px²) dropped.
|
|
31
|
-
5. Output: `const PORTRAIT={w,h,levels:[{t,p:[[x,y,...],...]}]}` with integer coordinates.
|
|
32
|
-
Typical size 30–70 KB.
|
|
33
|
-
|
|
34
|
-
Requirements: Python 3 with numpy, scipy, Pillow. No OpenCV. `portrait.sh` prefers
|
|
35
|
-
`./.venv/bin/python` when it exists (the doctor creates it when pip refuses system installs).
|
|
36
|
-
|
|
37
|
-
## 2. Drawing
|
|
38
|
-
|
|
39
|
-
- Fills: levels in ascending threshold order, each filled with its tone using the
|
|
40
|
-
`evenodd` rule; holes (eyes, mouth) come out by themselves. Six tones from dark to light
|
|
41
|
-
for a CRT look: `#0f151c #25313d #48606f #7a95a4 #b9d0dc #f3f9ff`. For risograph use two
|
|
42
|
-
inks: the dark levels in blue, the mid levels in pink at 50 % density.
|
|
43
|
-
- Outlines: the same polygons stroked; draw only the first fraction of each polyline to
|
|
44
|
-
reveal the drawing progressively.
|
|
45
|
-
- RGB split: draw the portrait into an offscreen canvas, make three copies multiplied by
|
|
46
|
-
pure red, green and blue (`multiply`, then `destination-in` with the original), add them
|
|
47
|
-
with `lighter` at offsets; converge the offsets to 1–2 units as the signal "locks".
|
|
48
|
-
- Slices: copy horizontal bands of the offscreen canvas with random horizontal offsets for
|
|
49
|
-
a tracking glitch; decrease the amplitude over time.
|
|
50
|
-
- Placement: a square portrait sits with its bottom bleeding past the frame edge, so the
|
|
51
|
-
shoulders do not float above black. Head top at 5–8 % from the top edge.
|
|
52
|
-
|
|
53
|
-
Sequence that reads as "a signal locking onto a face" (8 seconds): bar 1 outlines draw
|
|
54
|
-
themselves with strong RGB split and band tearing; bar 2 fills fade in under the outlines,
|
|
55
|
-
a scan beam passes top to bottom, the split converges; bar 3 a lower third slides in with the
|
|
56
|
-
name and a status; bar 4 a large caption on the free side, occasional small tears, then the
|
|
57
|
-
cut.
|
|
58
|
-
|
|
59
|
-
## 3. Tuning by symptom
|
|
60
|
-
|
|
61
|
-
| Symptom | Fix |
|
|
62
|
-
|---|---|
|
|
63
|
-
| face is one flat tone | move thresholds into 0.55–0.85, add a level at 0.78 |
|
|
64
|
-
| features lost in speckle | `--blur 1.8`, `--minarea 40` |
|
|
65
|
-
| head top or white clothes gone | `--bgthr 0.9`; if still gone, `--nobg` and crop tighter |
|
|
66
|
-
| background remains as a bright slab | `--bgthr 0.82`, or crop so the background touches the top edge |
|
|
67
|
-
| jagged outlines | `--height 900`, `--tol 0.8` |
|
|
68
|
-
| file too large | fewer levels, `--tol 1.2`, `--minarea 48` |
|
|
69
|
-
| person unrecognisable on the sheet | crop to head and shoulders; likeness lives in the silhouette, brows, mouth and hairline, not in detail |
|
|
70
|
-
|
|
71
|
-
## 4. Rights
|
|
72
|
-
|
|
73
|
-
Ask before the first render whether the person in the photo agreed to appear, and whether
|
|
74
|
-
the video will be public. A public repository or a shared link is publication. Without
|
|
75
|
-
confirmation, keep the placeholder and say so.
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# The brief and the concept generator
|
|
2
|
-
|
|
3
|
-
Two modes. With a structured question tool (Claude Code `AskUserQuestion`: up to four
|
|
4
|
-
questions per call, two to four options each, recommended option first and marked), run the
|
|
5
|
-
brief as two calls of four questions. Without one (Codex, Gemini CLI, Cursor, plain chat),
|
|
6
|
-
print the block below as a numbered list with lettered options and a default in brackets, and
|
|
7
|
-
accept terse answers such as `1b 2a 3c 4d`. Ask in the user's language. Never ask what you can
|
|
8
|
-
infer; confirm the inference instead.
|
|
9
|
-
|
|
10
|
-
## Block A: what and where
|
|
11
|
-
|
|
12
|
-
1. **Message.** Free text. "In one sentence, what should the viewer understand or feel? Give
|
|
13
|
-
me every phrase, name, date and link that must appear on screen exactly."
|
|
14
|
-
2. **Where it plays.** a) chat or messenger b) YouTube or a website c) Instagram, TikTok,
|
|
15
|
-
Reels, Stories d) a screen at an event or a presentation. Default: a.
|
|
16
|
-
3. **Format.** a) 16:9 horizontal [default for a, b, d] b) 9:16 vertical [default for c]
|
|
17
|
-
c) 1:1 square d) 4:5 portrait.
|
|
18
|
-
4. **Length.** a) 10–15 s, one idea b) 20–25 s [default] c) 30–40 s, a small story
|
|
19
|
-
d) 45–60 s, only with a strong reason. Every extra scene costs a bar; long videos of a
|
|
20
|
-
single message feel longer than they are.
|
|
21
|
-
|
|
22
|
-
## Block B: how
|
|
23
|
-
|
|
24
|
-
5. **Tone.** a) playful b) deadpan, ironic [default for questions and shout-outs]
|
|
25
|
-
c) warm, sincere [default for greetings] d) technical, precise e) epic f) dark.
|
|
26
|
-
6. **Style.** a) let me propose three concepts [default] b) a family from `styles.md`
|
|
27
|
-
(name it) c) match a reference the user names, in spirit not in assets.
|
|
28
|
-
7. **Assets.** "Do you have photos, logos, screenshots or a face that should appear? Put the
|
|
29
|
-
files into the project folder; I cannot save an image from the chat. If a real person
|
|
30
|
-
appears, confirm you have the right to use their likeness." Options: a) none, all
|
|
31
|
-
procedural [default] b) photo of a person (posterized portrait) c) logo or mark (I will
|
|
32
|
-
redraw it as vectors from the file) d) screenshots (redrawn as stylised UI, not pasted).
|
|
33
|
-
8. **Sound.** a) synthesized soundtrack [default] b) no sound c) leave room for the user's
|
|
34
|
-
track, then ask the BPM d) voice-over later, so leave gaps under the text.
|
|
35
|
-
|
|
36
|
-
## Block C: only when relevant
|
|
37
|
-
|
|
38
|
-
9. **Deliverables.** a) MP4 only [default] b) plus a vertical cut c) plus a GIF for chats
|
|
39
|
-
d) plus a poster frame e) plus two or three seed variations of a key frame f) the cover as the
|
|
40
|
-
first frame of the MP4, for feeds that show frame 0 as the preview (often asked together with d).
|
|
41
|
-
10. **Quality and deadline.** a) quick draft: fewer scenes, 1280 px, no sound b) final
|
|
42
|
-
[default]. A draft is a legitimate deliverable when the user wants to see direction first.
|
|
43
|
-
11. **Avoid.** Colours, clichés, brands, jokes that would land badly.
|
|
44
|
-
|
|
45
|
-
"You decide" means: take every default, list the defaults you took in one line, continue.
|
|
46
|
-
|
|
47
|
-
## Intake of assets
|
|
48
|
-
|
|
49
|
-
- Files go into the project folder. Name them plainly (`photo.jpg`, `logo.png`).
|
|
50
|
-
- Photos: any size above 600 px on the short side; frontal, evenly lit faces trace best.
|
|
51
|
-
- Logos: you redraw them as paths in code; the file is a reference for you to look at, it
|
|
52
|
-
never enters the HTML.
|
|
53
|
-
- Third-party likeness: the user confirms rights before the video leaves the machine.
|
|
54
|
-
If the video is going to be public, say so in the same sentence.
|
|
55
|
-
- Until a file arrives, build the scene on the synthetic placeholder and say it is a
|
|
56
|
-
placeholder in every message that shows it.
|
|
57
|
-
|
|
58
|
-
## The concept generator
|
|
59
|
-
|
|
60
|
-
Three concepts, always, before code. One per angle:
|
|
61
|
-
|
|
62
|
-
| Angle | Question you ask yourself | Typical systems |
|
|
63
|
-
|---|---|---|
|
|
64
|
-
| Literal | What is the subject, shown plainly and beautifully? | flat vector, poster type, paper cutout |
|
|
65
|
-
| Metaphor | What situation is this, and which familiar visual system means that situation? | test card = waiting, blueprint = plan, terminal = process, weather map = forecast, scoreboard = competition, boarding pass = departure |
|
|
66
|
-
| Genre parody | Which format would report this event with a straight face? | news bulletin, teletext, arcade attract mode, airline safety card, nature documentary, infomercial, 90s TV ad, product keynote |
|
|
67
|
-
|
|
68
|
-
Any angle can be told as one take: when the logline is a journey or a growth (a line that
|
|
69
|
-
draws a life, a flight from a detail out to a landscape), the concept can be one continuous
|
|
70
|
-
world instead of cut scenes (`world.md`). Say so in the concept; it is built and changed
|
|
71
|
-
differently.
|
|
72
|
-
|
|
73
|
-
A view can also be a painting: a landscape that is drawn in pencil, painted over, then comes alive
|
|
74
|
-
under a slow push-in (styles 13–16, `painting.md`). It fits a place, a memory, a season, a quiet
|
|
75
|
-
thank-you, an idea becoming real. It is one view per film with room for one title; say so in the
|
|
76
|
-
concept, because the scene takes most of the work.
|
|
77
|
-
|
|
78
|
-
For each concept produce:
|
|
79
|
-
|
|
80
|
-
- **Name**: two words the user can say back.
|
|
81
|
-
- **Logline**: one sentence, present tense, what the viewer sees from first to last frame.
|
|
82
|
-
- **Visual system**: a family from `styles.md` or a system of its own (a weather map, a boarding
|
|
83
|
-
pass, a line of light, a red pencil on a light table, a painting that comes alive), a three-colour
|
|
84
|
-
palette, the type.
|
|
85
|
-
- **Key scenes**: three to five, in order, each one line, each readable as a still.
|
|
86
|
-
- **Ending**: the final image and the last text on screen.
|
|
87
|
-
- **Sound sketch**: three cues.
|
|
88
|
-
- **Why it fits**: one sentence tied to the message.
|
|
89
|
-
- **Risk**: what could make it fall flat, and the mitigation.
|
|
90
|
-
|
|
91
|
-
Present as a table with the three names as columns and the rows above, then one paragraph
|
|
92
|
-
with your recommendation and why. Ask one question: which one, or a mix. If the user mixes,
|
|
93
|
-
restate the mixed concept in the same format before the storyboard.
|
|
94
|
-
|
|
95
|
-
### Worked example
|
|
96
|
-
|
|
97
|
-
Message: "Sergey, when do we get the stream about paperclip?" Tone: deadpan. Length: 30–40 s.
|
|
98
|
-
|
|
99
|
-
| | No Signal | Blueprint of a Stream | Paperclip News |
|
|
100
|
-
|---|---|---|---|
|
|
101
|
-
| angle | metaphor: waiting for a broadcast | metaphor: a plan that exists only on paper | genre parody: breaking news |
|
|
102
|
-
| system | retro TV: test card, snow, teletext, oscilloscope | blueprint: white lines on deep blue, dimension arrows, stamps | news: lower thirds, ticker, map, "LIVE" that never lights |
|
|
103
|
-
| key scenes | TV powers on, snow, NO SIGNAL; test card with a day counter; countdown that breaks; teletext asks the question; oscilloscope traces a paperclip, "streams found: 0"; signal locks onto Sergey's portrait; TV powers off | title block; a paperclip drawn as a part with dimensions; a Gantt bar labelled STREAM with no end date; a stamp "APPROVED" that never lands; portrait as a technical drawing | studio bumper; anchor lower third; ticker with the question; a map with one empty dot; portrait in a "wanted" frame; "we return after the break" |
|
|
104
|
-
| ending | screen collapses to a dot, "waiting for the stream" | drawing rolls up, "revision 0" | ticker keeps running over black |
|
|
105
|
-
| sound | hum, hiss, 1 kHz tone, beeps, beat on the question, thunk | pencil scratches, paper, a metronome | news sting, typewriter, drum roll that stops |
|
|
106
|
-
| risk | too much noise on screen; keep text large | can look cold; add one moving joke | parody needs precise typography; keep one font |
|
|
107
|
-
|
|
108
|
-
Recommendation: No Signal, because the joke is the situation itself and every scene of a TV
|
|
109
|
-
that shows nothing restates the question without words.
|
|
110
|
-
|
|
111
|
-
## Storyboard sign-off
|
|
112
|
-
|
|
113
|
-
After the pick, fill the storyboard table (`assets/storyboard.md`), state the total and the
|
|
114
|
-
second of the main event, and ask one yes-or-no question. Then build. Do not ask again until
|
|
115
|
-
the first contact sheet.
|