@autoaiai/aicut 0.1.7 → 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.
Files changed (306) hide show
  1. package/MANUAL.md +94 -84
  2. package/package.json +1 -1
  3. package/product.json +2 -1
  4. package/skills/aicut/SKILL.md +4 -4
  5. package/skills/aicut/references/commands.md +15 -15
  6. package/skills/aicut/references/film-format.md +1 -1
  7. package/skills/aicut/references/recipes.md +4 -4
  8. package/skills/aicut/references/troubleshooting.md +2 -2
  9. package/skills/aicut-motion/SKILL.md +75 -9
  10. package/skills/aicut-motion/THIRD_PARTY_NOTICES.md +14 -0
  11. package/skills/aicut-motion/assets/atlas/lib/harness.js +116 -0
  12. package/skills/aicut-motion/assets/atlas/lib/sound.js +274 -0
  13. package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/code.js +937 -0
  14. package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/poster.jpg +0 -0
  15. package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/style.json +13 -0
  16. package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/code.js +909 -0
  17. package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/poster.jpg +0 -0
  18. package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/style.json +13 -0
  19. package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/code.js +881 -0
  20. package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/poster.jpg +0 -0
  21. package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/style.json +13 -0
  22. package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/code.js +897 -0
  23. package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/poster.jpg +0 -0
  24. package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/style.json +13 -0
  25. package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/code.js +814 -0
  26. package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/poster.jpg +0 -0
  27. package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/style.json +13 -0
  28. package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/code.js +990 -0
  29. package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/poster.jpg +0 -0
  30. package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/style.json +13 -0
  31. package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/code.js +994 -0
  32. package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/poster.jpg +0 -0
  33. package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/style.json +13 -0
  34. package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/code.js +792 -0
  35. package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/poster.jpg +0 -0
  36. package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/style.json +13 -0
  37. package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/code.js +840 -0
  38. package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/poster.jpg +0 -0
  39. package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/style.json +13 -0
  40. package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/code.js +1126 -0
  41. package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/poster.jpg +0 -0
  42. package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/style.json +13 -0
  43. package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/code.js +854 -0
  44. package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/poster.jpg +0 -0
  45. package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/style.json +13 -0
  46. package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/code.js +1124 -0
  47. package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/poster.jpg +0 -0
  48. package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/style.json +13 -0
  49. package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/code.js +728 -0
  50. package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/poster.jpg +0 -0
  51. package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/style.json +13 -0
  52. package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/code.js +664 -0
  53. package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/poster.jpg +0 -0
  54. package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/style.json +13 -0
  55. package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/code.js +991 -0
  56. package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/poster.jpg +0 -0
  57. package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/style.json +13 -0
  58. package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/code.js +801 -0
  59. package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/poster.jpg +0 -0
  60. package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/style.json +13 -0
  61. package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/code.js +692 -0
  62. package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/poster.jpg +0 -0
  63. package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/style.json +13 -0
  64. package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/code.js +756 -0
  65. package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/poster.jpg +0 -0
  66. package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/style.json +13 -0
  67. package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/code.js +922 -0
  68. package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/poster.jpg +0 -0
  69. package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/style.json +13 -0
  70. package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/code.js +852 -0
  71. package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/poster.jpg +0 -0
  72. package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/style.json +13 -0
  73. package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/code.js +724 -0
  74. package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/poster.jpg +0 -0
  75. package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/style.json +13 -0
  76. package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/code.js +793 -0
  77. package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/poster.jpg +0 -0
  78. package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/style.json +13 -0
  79. package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/code.js +846 -0
  80. package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/poster.jpg +0 -0
  81. package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/style.json +13 -0
  82. package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/code.js +1008 -0
  83. package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/poster.jpg +0 -0
  84. package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/style.json +13 -0
  85. package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/code.js +680 -0
  86. package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/poster.jpg +0 -0
  87. package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/style.json +13 -0
  88. package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/code.js +633 -0
  89. package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/poster.jpg +0 -0
  90. package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/style.json +13 -0
  91. package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/code.js +757 -0
  92. package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/poster.jpg +0 -0
  93. package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/style.json +13 -0
  94. package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/code.js +828 -0
  95. package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/poster.jpg +0 -0
  96. package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/style.json +13 -0
  97. package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/code.js +697 -0
  98. package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/poster.jpg +0 -0
  99. package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/style.json +13 -0
  100. package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/code.js +687 -0
  101. package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/poster.jpg +0 -0
  102. package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/style.json +13 -0
  103. package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/code.js +727 -0
  104. package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/poster.jpg +0 -0
  105. package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/style.json +13 -0
  106. package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/code.js +903 -0
  107. package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/poster.jpg +0 -0
  108. package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/style.json +13 -0
  109. package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/code.js +662 -0
  110. package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/poster.jpg +0 -0
  111. package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/style.json +13 -0
  112. package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/code.js +951 -0
  113. package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/poster.jpg +0 -0
  114. package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/style.json +13 -0
  115. package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/code.js +759 -0
  116. package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/poster.jpg +0 -0
  117. package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/style.json +13 -0
  118. package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/code.js +738 -0
  119. package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/poster.jpg +0 -0
  120. package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/style.json +13 -0
  121. package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/code.js +793 -0
  122. package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/poster.jpg +0 -0
  123. package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/style.json +13 -0
  124. package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/code.js +673 -0
  125. package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/poster.jpg +0 -0
  126. package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/style.json +13 -0
  127. package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/code.js +907 -0
  128. package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/poster.jpg +0 -0
  129. package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/style.json +13 -0
  130. package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/code.js +833 -0
  131. package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/poster.jpg +0 -0
  132. package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/style.json +13 -0
  133. package/skills/aicut-motion/assets/atlas/styles/041-manga-page/code.js +845 -0
  134. package/skills/aicut-motion/assets/atlas/styles/041-manga-page/poster.jpg +0 -0
  135. package/skills/aicut-motion/assets/atlas/styles/041-manga-page/style.json +13 -0
  136. package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/code.js +496 -0
  137. package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/poster.jpg +0 -0
  138. package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/style.json +13 -0
  139. package/skills/aicut-motion/assets/atlas/styles/043-light-painting/code.js +635 -0
  140. package/skills/aicut-motion/assets/atlas/styles/043-light-painting/poster.jpg +0 -0
  141. package/skills/aicut-motion/assets/atlas/styles/043-light-painting/style.json +13 -0
  142. package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/code.js +799 -0
  143. package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/poster.jpg +0 -0
  144. package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/style.json +13 -0
  145. package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/code.js +547 -0
  146. package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/poster.jpg +0 -0
  147. package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/style.json +13 -0
  148. package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/code.js +592 -0
  149. package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/poster.jpg +0 -0
  150. package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/style.json +13 -0
  151. package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/code.js +768 -0
  152. package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/poster.jpg +0 -0
  153. package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/style.json +13 -0
  154. package/skills/aicut-motion/assets/atlas/styles/048-transit-map/code.js +666 -0
  155. package/skills/aicut-motion/assets/atlas/styles/048-transit-map/poster.jpg +0 -0
  156. package/skills/aicut-motion/assets/atlas/styles/048-transit-map/style.json +13 -0
  157. package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/code.js +559 -0
  158. package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/poster.jpg +0 -0
  159. package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/style.json +13 -0
  160. package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/code.js +943 -0
  161. package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/poster.jpg +0 -0
  162. package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/style.json +13 -0
  163. package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/code.js +606 -0
  164. package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/poster.jpg +0 -0
  165. package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/style.json +13 -0
  166. package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/code.js +730 -0
  167. package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/poster.jpg +0 -0
  168. package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/style.json +13 -0
  169. package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/code.js +782 -0
  170. package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/poster.jpg +0 -0
  171. package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/style.json +13 -0
  172. package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/code.js +504 -0
  173. package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/poster.jpg +0 -0
  174. package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/style.json +13 -0
  175. package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/code.js +517 -0
  176. package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/poster.jpg +0 -0
  177. package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/style.json +13 -0
  178. package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/code.js +713 -0
  179. package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/poster.jpg +0 -0
  180. package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/style.json +13 -0
  181. package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/code.js +717 -0
  182. package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/poster.jpg +0 -0
  183. package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/style.json +13 -0
  184. package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/code.js +540 -0
  185. package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/poster.jpg +0 -0
  186. package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/style.json +13 -0
  187. package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/code.js +524 -0
  188. package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/poster.jpg +0 -0
  189. package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/style.json +13 -0
  190. package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/code.js +934 -0
  191. package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/poster.jpg +0 -0
  192. package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/style.json +13 -0
  193. package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/code.js +690 -0
  194. package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/poster.jpg +0 -0
  195. package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/style.json +13 -0
  196. package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/code.js +612 -0
  197. package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/poster.jpg +0 -0
  198. package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/style.json +13 -0
  199. package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/code.js +666 -0
  200. package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/poster.jpg +0 -0
  201. package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/style.json +13 -0
  202. package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/code.js +651 -0
  203. package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/poster.jpg +0 -0
  204. package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/style.json +13 -0
  205. package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/code.js +656 -0
  206. package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/poster.jpg +0 -0
  207. package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/style.json +13 -0
  208. package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/code.js +672 -0
  209. package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/poster.jpg +0 -0
  210. package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/style.json +13 -0
  211. package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/code.js +548 -0
  212. package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/poster.jpg +0 -0
  213. package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/style.json +13 -0
  214. package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/code.js +989 -0
  215. package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/poster.jpg +0 -0
  216. package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/style.json +13 -0
  217. package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/code.js +440 -0
  218. package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/poster.jpg +0 -0
  219. package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/style.json +13 -0
  220. package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/code.js +895 -0
  221. package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/poster.jpg +0 -0
  222. package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/style.json +13 -0
  223. package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/code.js +563 -0
  224. package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/poster.jpg +0 -0
  225. package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/style.json +13 -0
  226. package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/code.js +627 -0
  227. package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/poster.jpg +0 -0
  228. package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/style.json +13 -0
  229. package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/code.js +1096 -0
  230. package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/poster.jpg +0 -0
  231. package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/style.json +13 -0
  232. package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/code.js +595 -0
  233. package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/poster.jpg +0 -0
  234. package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/style.json +13 -0
  235. package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/code.js +665 -0
  236. package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/poster.jpg +0 -0
  237. package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/style.json +13 -0
  238. package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/code.js +645 -0
  239. package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/poster.jpg +0 -0
  240. package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/style.json +13 -0
  241. package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/code.js +436 -0
  242. package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/poster.jpg +0 -0
  243. package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/style.json +13 -0
  244. package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/code.js +1237 -0
  245. package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/poster.jpg +0 -0
  246. package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/style.json +13 -0
  247. package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/code.js +622 -0
  248. package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/poster.jpg +0 -0
  249. package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/style.json +13 -0
  250. package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/code.js +524 -0
  251. package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/poster.jpg +0 -0
  252. package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/style.json +13 -0
  253. package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/code.js +689 -0
  254. package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/poster.jpg +0 -0
  255. package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/style.json +13 -0
  256. package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/code.js +574 -0
  257. package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/poster.jpg +0 -0
  258. package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/style.json +13 -0
  259. package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/code.js +469 -0
  260. package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/poster.jpg +0 -0
  261. package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/style.json +13 -0
  262. package/skills/aicut-motion/assets/atlas/styles/084-flow-field/code.js +531 -0
  263. package/skills/aicut-motion/assets/atlas/styles/084-flow-field/poster.jpg +0 -0
  264. package/skills/aicut-motion/assets/atlas/styles/084-flow-field/style.json +13 -0
  265. package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/code.js +675 -0
  266. package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/poster.jpg +0 -0
  267. package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/style.json +13 -0
  268. package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/code.js +609 -0
  269. package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/poster.jpg +0 -0
  270. package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/style.json +13 -0
  271. package/skills/aicut-motion/references/design-systems/README.md +1 -1
  272. package/skills/aicut-motion/references/motion-delivery.md +55 -0
  273. package/skills/aicut-motion/references/pages.md +1 -1
  274. package/skills/aicut-motion/references/style-index.json +690 -0
  275. package/skills/aicut-motion/references/style-research.md +73 -0
  276. package/skills/aicut-motion/references/style-selection.md +71 -0
  277. package/skills/aicut-motion/scripts/atlas-viewer.html +195 -0
  278. package/skills/aicut-motion/scripts/atlas.mjs +109 -0
  279. package/studio/client.mjs +3 -3
  280. package/studio/server/fetch-github.mjs +14 -3
  281. package/studio/server/server.mjs +71 -6
  282. package/studio/server/skill-summaries.mjs +60 -0
  283. package/studio/server/skills.mjs +121 -7
  284. package/studio/server/styles-store.mjs +235 -0
  285. package/studio/server/template-posters.mjs +2 -2
  286. package/studio/server/templates-page.mjs +93 -93
  287. package/studio/server/templates.mjs +32 -7
  288. package/studio/ui/dist/assets/ExportCenter-DasulhAv.js +1 -0
  289. package/studio/ui/dist/assets/SettingsModal-BZw0Hz2_.js +2 -0
  290. package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
  291. package/studio/ui/dist/assets/es-C8XPZARI.js +1 -0
  292. package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
  293. package/studio/ui/dist/assets/index-BjJVmBzB.js +1623 -0
  294. package/studio/ui/dist/assets/index-C3BfKZFO.css +1 -0
  295. package/studio/ui/dist/assets/ja-BeNkdaEj.js +1 -0
  296. package/studio/ui/dist/assets/ko-DcTVhdzK.js +1 -0
  297. package/studio/ui/dist/assets/zh-CN-Cg51ctbL.js +1 -0
  298. package/studio/ui/dist/index.html +4 -3
  299. package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
  300. package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
  301. package/studio/ui/dist/assets/es-BRUzvuoM.js +0 -1
  302. package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
  303. package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
  304. package/studio/ui/dist/assets/ja-Cth-uDcW.js +0 -1
  305. package/studio/ui/dist/assets/ko-upvw591D.js +0 -1
  306. package/studio/ui/dist/assets/zh-CN-BCfJFazB.js +0 -1
package/MANUAL.md CHANGED
@@ -1,84 +1,94 @@
1
- # AICUT
2
-
3
- You make films. A film is a web page, `film.html`, that cuts pages, footage, pictures and sound together. A page is a web page that sets `window.film` and draws any moment t it is asked for.
4
-
5
- ## The project
6
-
7
- A folder:
8
- - `film.html`: the film. The person edits it in Studio at any moment: read it right before you change it, and change only what you mean to.
9
- - Pages (`*.html`): pictures written as code, with the files they load by relative path.
10
- - `assets/`: media files (video, pictures, sound). The person sees every one in Studio: keep only what the film can use, and delete the pieces you made them from.
11
- - Files and folders starting with a dot (`.film`, `.git`) belong to the tools: leave them.
12
-
13
- ## film.html
14
-
15
- <!doctype html>
16
- <html>
17
- <head>
18
- <meta charset="utf-8">
19
- <meta name="viewport" content="width=1920, height=1080">
20
- <style>
21
- .card { object-fit: cover; border-radius: 24px; }
22
- </style>
23
- </head>
24
- <body>
25
- <section>
26
- <iframe src="title.html"></iframe>
27
- <img src="assets/logo.png#t=0,3" at="6" style="left: 1640px; top: 60px; width: 200px">
28
- </section>
29
- <section>
30
- <video src="assets/a.mp4#t=2,8" at="2" class="card" style="left: 160px; top: 90px; width: 1600px; height: 700px"></video>
31
- </section>
32
- <section>
33
- <audio src="assets/bed.mp3" volume="0.6"></audio>
34
- </section>
35
- </body>
36
- </html>
37
-
38
- - The viewport is the film's frame, in CSS pixels; without it, 1920×1080.
39
- - Each `<section>` is a track of clips that do not overlap; any clip goes on any track. The sections are the tracks as Studio's timeline shows them, top first: the first one's pictures are on top, so titles go before the footage they cover, and the background last. What a page does not paint is transparent; a moment with no clip is black.
40
- - A track the person `locked` is theirs: change nothing on it. A `hidden` track shows and plays nothing; a `muted` one plays no sound.
41
- - A clip is an element: `<iframe>` a page, `<video>`, `<img>` a picture, `<audio>` a sound.
42
- - `src`: its file, relative to film.html. `#t=in,out` says which seconds of it play, `#t=in` to its end; without it, all of them. A picture, or a page without a `duration`, needs `#t=0,length`: how long it stays.
43
- - `at`: where it starts in the film, in seconds; without it, 0.
44
- - `left`, `top`, `width`, `height` in its `style` (px) and `rotate` (degrees, clockwise): where it sits. Without them, a video or picture is the stage, and a page is its own size, centered. With only `width` or `height`, the other keeps its proportions.
45
- - Its look is CSS, in `class` or `style`: a video or picture fits whole in its box unless you say otherwise (`object-fit: cover` crops it to the box). The film's CSS holds still; what moves is a page.
46
- - `speed` (video and sound): 0.25 to 4. The clip lasts `(out − in) / speed` seconds. To make it faster or slower, change `speed` only: never make the file again at another speed, nor move its `.vtt`'s times. Its subtitles follow `speed` on their own.
47
- - `volume` (video and sound): 1 is the file's own level; `muted` silences it.
48
- - `id`: a name, unique in the film; without it, the file's name.
49
- - `overrides`: the person's changes made in Studio. Keep them as they are.
50
- - `size` (page): the px a page without its own `width` and `height` is laid out at; without it, the stage's. Studio sets it when the frame changes shape. Keep it as it is; remove it only when you lay the page out again for the new frame.
51
- - Cut a long recording by trimming it: every clip of it is the same file with its own `#t=`. Never cut, crop or re-encode media into new files; CSS crops.
52
-
53
- ## A page
54
-
55
- <script type="module">
56
- window.film = {
57
- frame(t) { /* draw the whole picture at t seconds */ },
58
- duration: 6, // optional: the page's own length, in seconds
59
- ready: loadEverything(), // optional: a Promise; drawing starts once it settles
60
- width: 480, height: 320, // optional: a page that is only a part of the picture
61
- };
62
- </script>
63
-
64
- **The one rule: the picture depends only on t.** The same t always draws the same picture, whatever was drawn before and in whatever order.
65
-
66
- - One shot per page: a film of five shots is five pages cut together in film.html, so the person can trim, reorder and replace each one. What the pages share (fonts, colors, a logo) goes in a file they load.
67
- - Studio edits elements, not pixels: make what the person may change a DOM element.
68
- - Without `width` and `height`, a page is the size of the stage: lay it out for it. With them (a chart in a corner), it is that size, and its clip's style puts it in place.
69
- - A page's t is its own time, starting at 0. Where it sits in the film, and for how long, is film.html's.
70
- - The host calls `frame(t)`; a page never animates by itself (no animation loop, no autoplay).
71
- - The picture is captured once `frame` returns, or once the Promise it returns resolves. Create a WebGL context with `preserveDrawingBuffer: true`.
72
- - A page has no sound: every sound is a clip in film.html. A shot's sound effect goes at the film second it plays: the page clip's `at`, plus the page's t, less the clip's in point (a hit at t = 2 in a clip at 5 goes at 7). When you move the page clip, move its sounds with it.
73
-
74
- ## Tools
75
-
76
- Run them in the film's folder. Each one's `--help` lists its options:
77
- - `npx @autoaiai/aicut open <folder>`: first. A new film gets a folder of its own, named after it (`open launch-video`); an existing one opens, and a GitHub address of one (a repository, or `…/tree/main/<folder>`) is copied into the projects library and opened. It prints Studio's address: open it in your built-in browser before you write anything and keep it open, so the person watches every change land and edits too. Without a built-in browser, Studio opens in the person's default browser by itself. `open` alone shows the film you are in, else the last one: run it when the person only asks to open AICUT.
78
- - `npx @autoaiai/aicut look`: a contact sheet of the whole film with its sound, and a check that the same t draws the same picture. `look 4.5` is one frame at full size, `look 3-6` a stretch, `look assets/a.mp4` a media file.
79
- - `npx @autoaiai/aicut render`: the MP4, beside film.html (30 fps unless `--fps`). Only when the person asks for the file: you check with `look`, and the person exports from Studio.
80
- - `npx @autoaiai/aicut get`: voice-over, music, sound effects, transcripts, images, image search, video and web search. Each kind works only once the person has connected a service that makes it, with their own key, in Studio (Settings → Providers); Studio's subtitle translation too. Run it alone to see what works now and which services make the rest. When a kind is not connected, tell the person which services make it and where they connect one. A video clip costs a lot: the person confirms it in Studio first.
81
-
82
- The words of a sound or a video are a WebVTT beside it with the same name (`vo/1.wav` → `vo/1.vtt`): a cue per subtitle line, a timestamp tag at each word. Studio makes the film's subtitles from them; never draw subtitles in a page.
83
-
84
- Media can come from `get`, any service the person uses (with its API docs and their key), or your own code. Save it under `assets/`.
1
+ # AICUT
2
+
3
+ You make films. A film is a web page, `film.html`, that cuts pages, footage, pictures and sound together. A page is a web page that sets `window.film` and draws any moment t it is asked for.
4
+
5
+ ## The project
6
+
7
+ A folder:
8
+ - `film.html`: the film. The person edits it in Studio at any moment: read it right before you change it, and change only what you mean to.
9
+ - Pages (`*.html`): pictures written as code, with the files they load by relative path.
10
+ - A packed page (`compound-*.html`): several picture clips the person packed into one — a film of its own (see below). Its text is the JSON string in `#film-source`, not its body.
11
+ - `assets/`: media files (video, pictures, sound). The person sees every one in Studio: keep only what the film can use, and delete the pieces you made them from.
12
+ - A project made from a template already has its pages written (`pages/*.html`) and placed in film.html. A design-style template also brings the `aicut-motion` skill into `.pi/skills/`: read it before adding motion, and keep to the palette and type it names.
13
+ - Files and folders starting with a dot (`.film`, `.git`) belong to the tools: leave them.
14
+
15
+ ## film.html
16
+
17
+ <!doctype html>
18
+ <html>
19
+ <head>
20
+ <meta charset="utf-8">
21
+ <meta name="viewport" content="width=1920, height=1080">
22
+ <style>
23
+ .card { object-fit: cover; border-radius: 24px; }
24
+ </style>
25
+ </head>
26
+ <body>
27
+ <section>
28
+ <iframe src="title.html"></iframe>
29
+ <img src="assets/logo.png#t=0,3" at="6" style="left: 1640px; top: 60px; width: 200px">
30
+ </section>
31
+ <section>
32
+ <video src="assets/a.mp4#t=2,8" at="2" class="card" style="left: 160px; top: 90px; width: 1600px; height: 700px"></video>
33
+ </section>
34
+ <section>
35
+ <audio src="assets/bed.mp3" volume="0.6"></audio>
36
+ </section>
37
+ </body>
38
+ </html>
39
+
40
+ - The viewport is the film's frame, in CSS pixels; without it, 1920×1080.
41
+ - Each `<section>` is a track of clips that do not overlap; any clip goes on any track. The sections are the tracks as Studio's timeline shows them, top first: the first one's pictures are on top, so titles go before the footage they cover, and the background last. What a page does not paint is transparent; a moment with no clip is black.
42
+ - A track the person `locked` is theirs: change nothing on it. A `hidden` track shows and plays nothing; a `muted` one plays no sound.
43
+ - A clip is an element: `<iframe>` a page, `<video>`, `<img>` a picture, `<audio>` a sound.
44
+ - `src`: its file, relative to film.html. `#t=in,out` says which seconds of it play, `#t=in` to its end; without it, all of them. A picture, or a page without a `duration`, needs `#t=0,length`: how long it stays.
45
+ - `at`: where it starts in the film, in seconds; without it, 0.
46
+ - `left`, `top`, `width`, `height` in its `style` (px) and `rotate` (degrees, clockwise): where it sits. Without them, a video or picture is the stage, and a page is its own size, centered. With only `width` or `height`, the other keeps its proportions.
47
+ - Its look is CSS, in `class` or `style`: a video or picture fits whole in its box unless you say otherwise (`object-fit: cover` crops it to the box). The film's CSS holds still; what moves is a page.
48
+ - `speed` (video and sound): 0.25 to 4. The clip lasts `(out − in) / speed` seconds. To make it faster or slower, change `speed` only: never make the file again at another speed, nor move its `.vtt`'s times. Its subtitles follow `speed` on their own.
49
+ - `volume` (video and sound): 1 is the file's own level; `muted` silences it.
50
+ - `id`: a name, unique in the film; without it, the file's name.
51
+ - `overrides`: the person's changes made in Studio. Keep them as they are.
52
+ - `size` (page): the px a page without its own `width` and `height` is laid out at; without it, the stage's. Studio sets it when the frame changes shape. Keep it as it is; remove it only when you lay the page out again for the new frame.
53
+ - Cut a long recording by trimming it: every clip of it is the same file with its own `#t=`. Never cut, crop or re-encode media into new files; CSS crops.
54
+
55
+ ## A page
56
+
57
+ <script type="module">
58
+ window.film = {
59
+ frame(t) { /* draw the whole picture at t seconds */ },
60
+ duration: 6, // optional: the page's own length, in seconds
61
+ ready: loadEverything(), // optional: a Promise; drawing starts once it settles
62
+ width: 480, height: 320, // optional: a page that is only a part of the picture
63
+ };
64
+ </script>
65
+
66
+ **The one rule: the picture depends only on t.** The same t always draws the same picture, whatever was drawn before and in whatever order.
67
+
68
+ - One shot per page: a film of five shots is five pages cut together in film.html, so the person can trim, reorder and replace each one. What the pages share (fonts, colors, a logo) goes in a file they load.
69
+ - Studio edits elements, not pixels: make what the person may change a DOM element.
70
+ - Without `width` and `height`, a page is the size of the stage: lay it out for it. With them (a chart in a corner), it is that size, and its clip's style puts it in place.
71
+ - A page's t is its own time, starting at 0. Where it sits in the film, and for how long, is film.html's.
72
+ - The host calls `frame(t)`; a page never animates by itself (no animation loop, no autoplay).
73
+ - The picture is captured once `frame` returns, or once the Promise it returns resolves. Create a WebGL context with `preserveDrawingBuffer: true`.
74
+ - A page has no sound: every sound is a clip in film.html. A shot's sound effect goes at the film second it plays: the page clip's `at`, plus the page's t, less the clip's in point (a hit at t = 2 in a clip at 5 goes at 7). When you move the page clip, move its sounds with it.
75
+
76
+ ## A compound page
77
+
78
+ The person can select picture clips and pack them into one (Studio's 新建复合片段). Studio writes `compound-<id>.html` beside film.html: a film of its own — sections are tracks, clips are elements, pages draw themselves — and film.html holds it as a single page clip.
79
+
80
+ - Read it through `#film-source`: a JSON string holding the film text. Parse the string, then read that text as film.html. The body's `<script type="module" src="__film/timeline.mjs">` plays it and is not part of the film; neither is the JSON itself. The body is not readable as film.html.
81
+ - Its time is its own. Inside the compound `at` starts at 0; the clip in film.html says when it plays and for how long. Trim, move and scale it there, not inside.
82
+ - Packing and unpacking are the person's: Studio puts the clips back on the film's tracks. Never split a compound by hand unless asked, and never delete one — an undo may want it.
83
+
84
+ ## Tools
85
+
86
+ Run them in the film's folder. Each one's `--help` lists its options:
87
+ - `npx @autoaiai/aicut open <folder>`: first. A new film gets a folder of its own, named after it (`open launch-video`); an existing one opens, and a GitHub address of one (a repository, or `…/tree/main/<folder>`) is copied into the projects library and opened. It prints Studio's address: open it in your built-in browser before you write anything and keep it open, so the person watches every change land and edits too. Without a built-in browser, Studio opens in the person's default browser by itself. `open` alone shows the film you are in, else the last one: run it when the person only asks to open AICUT.
88
+ - `npx @autoaiai/aicut look`: a contact sheet of the whole film with its sound, and a check that the same t draws the same picture. `look 4.5` is one frame at full size, `look 3-6` a stretch, `look assets/a.mp4` a media file.
89
+ - `npx @autoaiai/aicut render`: the MP4, beside film.html (30 fps unless `--fps`). Only when the person asks for the file: you check with `look`, and the person exports from Studio.
90
+ - `npx @autoaiai/aicut get`: voice-over, music, sound effects, transcripts, images, image search, video and web search. Each kind works only once the person has connected a service that makes it, with their own key, in Studio (Settings → Providers); Studio's subtitle translation too. Run it alone to see what works now and which services make the rest. When a kind is not connected, tell the person which services make it and where they connect one. A video clip costs a lot: the person confirms it in Studio first.
91
+
92
+ The words of a sound or a video are a WebVTT beside it with the same name (`vo/1.wav` → `vo/1.vtt`): a cue per subtitle line, a timestamp tag at each word. Studio makes the film's subtitles from them; never draw subtitles in a page.
93
+
94
+ Media can come from `get`, any service the person uses (with its API docs and their key), or your own code. Save it under `assets/`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autoaiai/aicut",
3
- "version": "0.1.7",
3
+ "version": "0.1.13",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/product.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "desktop": {
3
- "updates": "https://aicut.dev/download/desktop"
3
+ "updates": "https://aicut.dev/download/desktop",
4
+ "github": "autoaiai/aicut"
4
5
  }
5
6
  }
@@ -15,18 +15,18 @@ agent that knows the web already knows how to make one.
15
15
  `aicut` prints its own manual: the format and the commands, about a thousand words, always the current version.
16
16
 
17
17
  ```sh
18
- npx -y @autoaiai/aicut@latest
18
+ npx -y aicut@latest
19
19
  ```
20
20
 
21
- Run it before writing a film; `npx -y @autoaiai/aicut@latest <command> --help` has one command's options. That manual is
21
+ Run it before writing a film; `npx -y aicut@latest <command> --help` has one command's options. That manual is
22
22
  authoritative — what follows is the workflow around it.
23
23
 
24
24
  ## The loop
25
25
 
26
- 1. **Open.** `npx -y @autoaiai/aicut@latest open <folder>` makes the folder a film (1920×1080, no tracks) and prints Studio's
26
+ 1. **Open.** `npx -y aicut@latest open <folder>` makes the folder a film (1920×1080, no tracks) and prints Studio's
27
27
  address. Open that address in a browser you have: the person watches every change land there, and edits too.
28
28
  2. **Write.** `film.html` for the cut, one page per shot.
29
- 3. **Check.** `npx -y @autoaiai/aicut@latest look` draws a contact sheet of the whole film, its sound and loudness, and checks
29
+ 3. **Check.** `npx -y aicut@latest look` draws a contact sheet of the whole film, its sound and loudness, and checks
30
30
  that the same `t` draws the same picture. `look 4.5` is one frame at full size, `look 3-6` a stretch,
31
31
  `look assets/a.mp4` a media file. Look at the PNGs it writes; do not judge from the code.
32
32
  4. **Fix, repeat.** `render` only when the person asks for the file — they export from Studio themselves.
@@ -1,19 +1,19 @@
1
1
  # The commands
2
2
 
3
- Run them in the film's folder. `npx -y @autoaiai/aicut@latest` alone prints the manual; `--help` after a command prints that
3
+ Run them in the film's folder. `npx -y aicut@latest` alone prints the manual; `--help` after a command prints that
4
4
  command's options; `--version` prints the version. Exit status: **0** done, **1** the film or the command failed (the
5
5
  output says why), **2** not a project or a wrong command.
6
6
 
7
- Use `npx -y @autoaiai/aicut@latest` rather than a bare `aicut` unless something put one on your PATH: it is the newest, and
7
+ Use `npx -y aicut@latest` rather than a bare `aicut` unless something put one on your PATH: it is the newest, and
8
8
  `npx` otherwise keeps the first version it ever fetched.
9
9
 
10
10
  ## open
11
11
 
12
12
  ```sh
13
- npx -y @autoaiai/aicut@latest open # the project around this folder, else the last one, else Studio's list
14
- npx -y @autoaiai/aicut@latest open launch-video # a new film; the folder is made if missing
15
- npx -y @autoaiai/aicut@latest open . # this folder becomes the film
16
- npx -y @autoaiai/aicut@latest open https://github.com/aicut/examples/tree/main/one-prompt
13
+ npx -y aicut@latest open # the project around this folder, else the last one, else Studio's list
14
+ npx -y aicut@latest open launch-video # a new film; the folder is made if missing
15
+ npx -y aicut@latest open . # this folder becomes the film
16
+ npx -y aicut@latest open https://github.com/aicut/examples/tree/main/one-prompt
17
17
  ```
18
18
 
19
19
  - A folder that is not a project gets an empty `film.html`, 1920 × 1080 (its viewport `<meta>`), no tracks. A code
@@ -27,10 +27,10 @@ npx -y @autoaiai/aicut@latest open https://github.com/aicut/examples/tree/main/o
27
27
  ## look
28
28
 
29
29
  ```sh
30
- npx -y @autoaiai/aicut@latest look # the whole film: contact sheet, sound, loudness, same-t check
31
- npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size
32
- npx -y @autoaiai/aicut@latest look 3-6 # a stretch, densely
33
- npx -y @autoaiai/aicut@latest look assets/a.mp4 # a media file; also any .html page
30
+ npx -y aicut@latest look # the whole film: contact sheet, sound, loudness, same-t check
31
+ npx -y aicut@latest look 4.5 # one frame, full size
32
+ npx -y aicut@latest look 3-6 # a stretch, densely
33
+ npx -y aicut@latest look assets/a.mp4 # a media file; also any .html page
34
34
  ```
35
35
 
36
36
  Writes PNGs under `.film/cache/look/` and prints their paths. `--count <n>`: frames in a sheet (12). A project Studio
@@ -39,8 +39,8 @@ has not shown yet is opened in Studio first, so the person watches it.
39
39
  ## render
40
40
 
41
41
  ```sh
42
- npx -y @autoaiai/aicut@latest render # the whole film → <project>/<folder name>.mp4, beside film.html
43
- npx -y @autoaiai/aicut@latest render 12-20 # a range → .film/cache/render/
42
+ npx -y aicut@latest render # the whole film → <project>/<folder name>.mp4, beside film.html
43
+ npx -y aicut@latest render 12-20 # a range → .film/cache/render/
44
44
  ```
45
45
 
46
46
  | Option | Meaning |
@@ -58,9 +58,9 @@ Only when the person asks for the file: you check with `look`, and they export f
58
58
  ## get
59
59
 
60
60
  ```sh
61
- npx -y @autoaiai/aicut@latest get # what works right now, and which service makes the rest
62
- npx -y @autoaiai/aicut@latest get voice-over "A calm, low voice, 20 seconds"
63
- npx -y @autoaiai/aicut@latest get music "warm analog synth, 90 bpm"
61
+ npx -y aicut@latest get # what works right now, and which service makes the rest
62
+ npx -y aicut@latest get voice-over "A calm, low voice, 20 seconds"
63
+ npx -y aicut@latest get music "warm analog synth, 90 bpm"
64
64
  ```
65
65
 
66
66
  Kinds: voice-over, music, sound effects, transcripts, images, image search, video, web search. Each works only once
@@ -1,6 +1,6 @@
1
1
  # The format, on one page
2
2
 
3
- The summary below is for having the rules in front of you. When it disagrees with `npx -y @autoaiai/aicut@latest` (the manual)
3
+ The summary below is for having the rules in front of you. When it disagrees with `npx -y aicut@latest` (the manual)
4
4
  or `packages/AiCut/SPEC.md` (the protocol, version 0.1), those are right.
5
5
 
6
6
  ## The project
@@ -173,11 +173,11 @@ may not be longer than the clip.
173
173
  ## The order to work in
174
174
 
175
175
  ```sh
176
- npx -y @autoaiai/aicut@latest open my-film # prints Studio's address — open it
176
+ npx -y aicut@latest open my-film # prints Studio's address — open it
177
177
  # write film.html, title.html, scenes/…
178
- npx -y @autoaiai/aicut@latest look # the whole film, one sheet
179
- npx -y @autoaiai/aicut@latest look 1.4-2.2 # the beat where the reel lands
180
- npx -y @autoaiai/aicut@latest look assets/vo/1.wav # what the voice-over sounds like, and how loud
178
+ npx -y aicut@latest look # the whole film, one sheet
179
+ npx -y aicut@latest look 1.4-2.2 # the beat where the reel lands
180
+ npx -y aicut@latest look assets/vo/1.wav # what the voice-over sounds like, and how loud
181
181
  ```
182
182
 
183
183
  Read the sheet: is the headline inside the frame, does the reel sit where you meant, is any stretch black that
@@ -1,6 +1,6 @@
1
1
  # When it does not work
2
2
 
3
- Look first, guess second: `npx -y @autoaiai/aicut@latest look <page.html>` and `look <file>` draw what the host actually sees,
3
+ Look first, guess second: `npx -y aicut@latest look <page.html>` and `look <file>` draw what the host actually sees,
4
4
  and a page's uncaught errors are reported there.
5
5
 
6
6
  ## The frame is black, or the page is blank
@@ -46,7 +46,7 @@ The same `t` must draw the same picture — `look` checks it. Causes, in the ord
46
46
  - **The first run hangs.** It is downloading a headless Chromium (about 100 MB). Behind a proxy, set `HTTPS_PROXY`
47
47
  for that download, or use the desktop app.
48
48
  - **An old version keeps answering.** `npx` remembers the first version it fetched for a name: always run
49
- `npx -y @autoaiai/aicut@latest`, and `--version` to see which one answered.
49
+ `npx -y aicut@latest`, and `--version` to see which one answered.
50
50
  - **Studio does not open.** `open` prints the address even when no browser opened by itself; open it by hand.
51
51
  `AICUT_NO_BROWSER=1` stops it from ever opening one.
52
52
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: aicut-motion
3
- description: 'Design motion films that look authored rather than generated — brand films, showreels, kinetic typography, explainers, data stories, product and UI promos, character stories, music videos, abstract loops, title sequences. Use when a film needs art direction — a style, a palette and type system, real transformations, a plan laid out on beats, and a critique of its own frames. Works on AICUT films (film.html and pages with window.film).'
3
+ description: 'Design motion films that look authored rather than generated — brand films, showreels, kinetic typography, explainers, data stories, product and UI promos, character stories, music videos, abstract loops, title sequences. Use when a film needs art direction — a style, a palette and type system, real transformations, a plan laid out on beats, and a critique of its own frames — and when someone gives a topic and wants a visual direction chosen first: eighty-six archived styles, three real covers in the chat question card, one pick, then a twenty-second sample. Works on AICUT films (film.html and pages with window.film).'
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -19,7 +19,7 @@ The gap is rarely taste. It is behaviour:
19
19
  - build one shared system, so everything stays consistent;
20
20
  - look at the output and fix it.
21
21
 
22
- Read `npx -y @autoaiai/aicut@latest` once before the first film: it is the format and the tools, and it is authoritative. This
22
+ Read `npx -y aicut@latest` once before the first film: it is the format and the tools, and it is authoritative. This
23
23
  skill is how to decide what to draw.
24
24
 
25
25
  ## Priority order
@@ -94,8 +94,8 @@ Only where the prompt is silent; never override a ledger row.
94
94
  1. **The prompt states it** — palette, materials, type, references. The contract comes from the ledger alone.
95
95
  2. **The prompt names a feeling, medium or reference** ("like a newspaper", 水墨, "terminal", "Swiss poster") —
96
96
  start from the closest seed in `references/design-systems/` and adapt it.
97
- 3. **The prompt is a bare idea** — synthesise a contract with the method below. Seeds are starting points, not
98
- defaults.
97
+ 3. **The prompt is a bare idea** — take a direction from the archive of eighty-six looks (below), or synthesise a
98
+ contract with the method under it. Seeds are starting points, not defaults.
99
99
 
100
100
  **Synthesis method:**
101
101
 
@@ -118,6 +118,72 @@ stories, MVs).
118
118
  (tempo, named scenes, scene changes), characters if any, and a scene-by-scene storyboard with timestamps and
119
119
  numbers. That brief becomes the ledgers. In prompt-only mode, output it and stop.
120
120
 
121
+ ## The archive of eighty-six looks
122
+
123
+ `assets/atlas/` is a reference collection, not a program: eighty-six visual styles that exist, each with its own cover,
124
+ what it is made of, how it moves, and the canvas source that drew it. What is archived is a **look and a way of
125
+ moving** — a palette, a material, a set of gestures. What the film is about comes from the person's topic and from
126
+ nowhere else.
127
+
128
+ - `references/style-index.json` — all 86, one row each: `id`, `name`, `nameZh`, `family`, `familyZh`, `folder`.
129
+ - `assets/atlas/styles/<folder>/poster.jpg` — the style's own cover, 800×450, the picture the person sees.
130
+ - `assets/atlas/styles/<folder>/style.json` — `description` (the look), `motionNotes` (how it moves),
131
+ `explainerNotes` (how it explains), `code` (the file below).
132
+ - `assets/atlas/styles/<folder>/code.js` — the reference animation, `draw(ctx, W, H, t)`: a pure function of time, the
133
+ same `t` always giving the same pixels.
134
+ - `assets/atlas/lib/harness.js`, `assets/atlas/lib/sound.js` — the helpers those files share (seeded randomness,
135
+ gradient noise, easing), here once.
136
+ - `scripts/atlas.mjs` — the index as commands: `--list`, `--id 26`, `--verify`, `--pick 32,26,2`.
137
+ - `scripts/atlas-viewer.html` — open it in any browser: the 86 styles play, scrubbable, each with its own notes beside
138
+ it. No build, no AICUT, no network — the three pieces the film needs (the harness, one `code.js`, a `t`). Use it to
139
+ look at a style before recommending it, and to see where a beat starts before reading the code for it.
140
+
141
+ Nothing here is an instruction to run. Check what a file does before reusing any of it. The viewer is the one exception:
142
+ it only plays files that are already here.
143
+
144
+ **When the prompt is a bare idea, the order is four steps and exactly two confirmations.**
145
+
146
+ 1. **Recommend three.** Say in one sentence what the person should understand by the end. If a fact the film will
147
+ state is not certain, check it first. Read `references/style-index.json` in full — all 86, not the nine whose names
148
+ you already know — and pick three that differ in **how they explain**: one whose mechanism is drawing (whiteboard,
149
+ isotype, blueprint, transit map), one made of a material (watercolour, paper cut, clay, felt), one graphic or
150
+ photographic (halftone, riso, editorial chart, neon). Open the three posters and their `style.json` before
151
+ recommending; never recommend from a name alone. Give each a letter, its name, and one sentence of why it suits
152
+ *this* topic.
153
+ 2. **Show the covers, then ask with the card.** Copy the three covers into the project and ask with the picture card —
154
+ `references/style-selection.md` has the exact command (`atlas.mjs --pick 32,26,2`) and the exact `ask` shape. The
155
+ pictures are the archive's own covers: say so — the subject in them is not their topic, and the sample will be.
156
+ **Confirmation 1 is the pick.** An unanswered card, a default selection, or time passing is not a pick. If the
157
+ person already named a style, in this message or an earlier one, take it and do not ask again.
158
+ 3. **A sample they can judge.** Read `references/style-research.md` and study the chosen style properly: its
159
+ `style.json`, its `code.js`, and the shared `lib/` files it uses. Then write the film's opening — 4 to 6 beats, about
160
+ 20 seconds — as a real page in `film.html`, in that style, about their topic. Not a title card, not three stills
161
+ pushed and pulled: the mechanism has to move. Look at it (`aicut look`), read the frames, fix what is wrong, look
162
+ again, then show it and say what part of the film it is and what is still missing. **Confirmation 2 is the approved
163
+ sample.** A chosen style is not an approved sample, and “颜色可以” is not approval of the whole sample.
164
+ 4. **The whole film.** Keep the approved sample's code and rules; write the rest of the film in them. Length comes from
165
+ the content, not from a rule. Do not change the style, redo approved beats, or add a third confirmation. Check the
166
+ whole timeline against `references/motion-delivery.md` before saying what the film is.
167
+
168
+ Everything else here still holds: the ledgers (stage 0), the gaps (stage 1), the timeline (stage 3), the stills before
169
+ the motion (stage 4), the jury (stage 6). The sample is stage 5's first cut of the opening beats, not a separate film.
170
+
171
+ ### Reading a style's time from its code
172
+
173
+ `code.js` is a function of time: everything that happens is written in it as a function of `t`. That is the same shape
174
+ an AICUT page has (`frame(t)`), which is why this archive is useful here at all:
175
+
176
+ - find what is drawn as a function of `t` and what is drawn once — the material, the camera, the objects, the text;
177
+ - find the beats: where a value is a `smoothstep`/`ease` of `t` between two numbers, that is a beat, and the two numbers
178
+ are its start and end;
179
+ - the palette, the texture and the finishing pass are the look; keep them.
180
+
181
+ Port the technique, not the file. The archive's renderer is its own harness; the film is an AICUT page. A style named
182
+ after a medium is a set of decisions (paper, pigment, edges, drying), not a shader to paste.
183
+
184
+ The archive is from Futurepedia's AI Style Atlas — `THIRD_PARTY_NOTICES.md` travels with it. Keep the source line in
185
+ what you deliver, and never present the covers as pictures made for this film.
186
+
121
187
  ## Stage 3 — the timeline before the code
122
188
 
123
189
  1. One row per scene: `start–end s · name · what the viewer learns · carried element in → out · transition out (X##)`.
@@ -201,7 +267,7 @@ my-film/
201
267
  - **Fonts.** System stacks, or a font in `assets/` with `document.fonts.load('700 64px …')` awaited in `ready`.
202
268
  Never a font that may not arrive.
203
269
  - **Sound.** A music or ambience `<audio>` clip, plus one clip per hit on its own track, all in `film.html`. Generated
204
- music and effects come from `npx -y @autoaiai/aicut@latest get`, once the person has connected a service.
270
+ music and effects come from `npx -y aicut@latest get`, once the person has connected a service.
205
271
  - **Completeness.** No TODOs. If space runs out, stop at the end of a file with `// CONTINUE FROM <path>`.
206
272
 
207
273
  ## Stage 6 — the jury
@@ -227,9 +293,9 @@ Fix everything below 8, worst first, up to three rounds.
227
293
  **How to look:**
228
294
 
229
295
  ```sh
230
- npx -y @autoaiai/aicut@latest look # the whole film: contact sheet, sound, loudness, same-t check
231
- npx -y @autoaiai/aicut@latest look 4.5 # one frame at full size
232
- npx -y @autoaiai/aicut@latest look 3-6 # a stretch, densely
296
+ npx -y aicut@latest look # the whole film: contact sheet, sound, loudness, same-t check
297
+ npx -y aicut@latest look 4.5 # one frame at full size
298
+ npx -y aicut@latest look 3-6 # a stretch, densely
233
299
  TIMES are worth naming: the first frame, each scene's first full frame, the loop seam
234
300
  ```
235
301
 
@@ -248,7 +314,7 @@ Reply in this order:
248
314
  kept across materials`; `format · W×H · duration · S##`. Any X row done by overlay, crossfade or whole-frame
249
315
  scaling is a failure — fix it before replying.
250
316
  5. **Jury**: five scores, and the three things you are least sure of.
251
- 6. **运行方法**: `npx -y @autoaiai/aicut@latest open <folder>` and open the address it prints; `look` to check; `render` for
317
+ 6. **运行方法**: `npx -y aicut@latest open <folder>` and open the address it prints; `look` to check; `render` for
252
318
  the MP4 when the person wants the file.
253
319
 
254
320
  **Follow-ups.** 继续 → only the remaining files. 评审修复 → run stage 6 on new stills, then output only the changed
@@ -0,0 +1,14 @@
1
+ # Third-party notices
2
+
3
+ The 86 visual styles in `assets/atlas/` — their covers, their descriptions and the reference code — come from
4
+ [Futurepedia — AI Style Atlas](https://www.futurepedia.io/resources/ai-style-atlas/view), archived 2026-10-26.
5
+
6
+ Copyright Futurepedia LLC, as displayed on the source site. They are kept here as reference material for a film's art
7
+ direction: the covers are shown to the person choosing a direction, and the code is read, never executed by AICUT.
8
+ Bundling them is not a claim of ownership or permission to redistribute.
9
+
10
+ What this skill adds is this folder's own writing — `SKILL.md`, `references/` and `scripts/atlas.mjs` — and the
11
+ conversion of the archive's per-style folders into one look-up table with de-duplicated shared code.
12
+
13
+ The archive shipped 86 explainer videos and 86 style clips (about 400 MB); they are not here. A style's time is in its
14
+ `code.js`, which is a pure function of `t` — a better record than a video, and small enough to travel with the skill.