@prestyj/cli 5.27.0 → 5.28.0

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 (701) hide show
  1. package/README.md +7 -5
  2. package/assets/motion/BRAG-LICENSE +21 -0
  3. package/assets/motion/HYPERFRAMES-LICENSE +190 -0
  4. package/assets/motion/THIRD-PARTY.md +57 -0
  5. package/assets/motion/assets/music/README.md +20 -0
  6. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.json +3846 -0
  7. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.md +35 -0
  8. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.json +1826 -0
  9. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.md +35 -0
  10. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.json +2266 -0
  11. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.md +35 -0
  12. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.json +2806 -0
  13. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.md +35 -0
  14. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.json +2796 -0
  15. package/assets/motion/assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.md +35 -0
  16. package/assets/motion/assets/music/happy-beats-business-moves-vol-1-by-ende-dot-app.mp3 +0 -0
  17. package/assets/motion/assets/music/happy-beats-business-moves-vol-10-by-ende-dot-app.mp3 +0 -0
  18. package/assets/motion/assets/music/happy-beats-business-moves-vol-11-by-ende-dot-app.mp3 +0 -0
  19. package/assets/motion/assets/music/happy-beats-business-moves-vol-12-by-ende-dot-app.mp3 +0 -0
  20. package/assets/motion/assets/music/happy-beats-business-moves-vol-9-by-ende-dot-app.mp3 +0 -0
  21. package/assets/motion/assets/sfx/casino/card-fan-1.ogg +0 -0
  22. package/assets/motion/assets/sfx/casino/card-fan-2.ogg +0 -0
  23. package/assets/motion/assets/sfx/casino/card-place-1.ogg +0 -0
  24. package/assets/motion/assets/sfx/casino/card-place-2.ogg +0 -0
  25. package/assets/motion/assets/sfx/casino/card-place-3.ogg +0 -0
  26. package/assets/motion/assets/sfx/casino/card-place-4.ogg +0 -0
  27. package/assets/motion/assets/sfx/casino/card-shove-1.ogg +0 -0
  28. package/assets/motion/assets/sfx/casino/card-shove-2.ogg +0 -0
  29. package/assets/motion/assets/sfx/casino/card-shove-3.ogg +0 -0
  30. package/assets/motion/assets/sfx/casino/card-shove-4.ogg +0 -0
  31. package/assets/motion/assets/sfx/casino/card-shuffle.ogg +0 -0
  32. package/assets/motion/assets/sfx/casino/card-slide-1.ogg +0 -0
  33. package/assets/motion/assets/sfx/casino/card-slide-2.ogg +0 -0
  34. package/assets/motion/assets/sfx/casino/card-slide-3.ogg +0 -0
  35. package/assets/motion/assets/sfx/casino/card-slide-4.ogg +0 -0
  36. package/assets/motion/assets/sfx/casino/card-slide-5.ogg +0 -0
  37. package/assets/motion/assets/sfx/casino/card-slide-6.ogg +0 -0
  38. package/assets/motion/assets/sfx/casino/card-slide-7.ogg +0 -0
  39. package/assets/motion/assets/sfx/casino/card-slide-8.ogg +0 -0
  40. package/assets/motion/assets/sfx/casino/cards-pack-open-1.ogg +0 -0
  41. package/assets/motion/assets/sfx/casino/cards-pack-open-2.ogg +0 -0
  42. package/assets/motion/assets/sfx/casino/chip-lay-1.ogg +0 -0
  43. package/assets/motion/assets/sfx/casino/chip-lay-2.ogg +0 -0
  44. package/assets/motion/assets/sfx/casino/chip-lay-3.ogg +0 -0
  45. package/assets/motion/assets/sfx/casino/chips-collide-1.ogg +0 -0
  46. package/assets/motion/assets/sfx/casino/chips-collide-2.ogg +0 -0
  47. package/assets/motion/assets/sfx/casino/chips-collide-3.ogg +0 -0
  48. package/assets/motion/assets/sfx/casino/chips-collide-4.ogg +0 -0
  49. package/assets/motion/assets/sfx/casino/chips-handle-1.ogg +0 -0
  50. package/assets/motion/assets/sfx/casino/chips-handle-2.ogg +0 -0
  51. package/assets/motion/assets/sfx/casino/chips-handle-3.ogg +0 -0
  52. package/assets/motion/assets/sfx/casino/chips-handle-4.ogg +0 -0
  53. package/assets/motion/assets/sfx/casino/chips-handle-6.ogg +0 -0
  54. package/assets/motion/assets/sfx/casino/chips-stack-1.ogg +0 -0
  55. package/assets/motion/assets/sfx/casino/chips-stack-2.ogg +0 -0
  56. package/assets/motion/assets/sfx/casino/chips-stack-3.ogg +0 -0
  57. package/assets/motion/assets/sfx/casino/chips-stack-4.ogg +0 -0
  58. package/assets/motion/assets/sfx/casino/chips-stack-5.ogg +0 -0
  59. package/assets/motion/assets/sfx/casino/chips-stack-6.ogg +0 -0
  60. package/assets/motion/assets/sfx/casino/dice-grab-1.ogg +0 -0
  61. package/assets/motion/assets/sfx/casino/dice-grab-2.ogg +0 -0
  62. package/assets/motion/assets/sfx/casino/dice-shake-1.ogg +0 -0
  63. package/assets/motion/assets/sfx/casino/dice-shake-2.ogg +0 -0
  64. package/assets/motion/assets/sfx/casino/dice-shake-3.ogg +0 -0
  65. package/assets/motion/assets/sfx/casino/dice-throw-1.ogg +0 -0
  66. package/assets/motion/assets/sfx/casino/dice-throw-2.ogg +0 -0
  67. package/assets/motion/assets/sfx/casino/dice-throw-3.ogg +0 -0
  68. package/assets/motion/assets/sfx/casino/die-throw-1.ogg +0 -0
  69. package/assets/motion/assets/sfx/casino/die-throw-2.ogg +0 -0
  70. package/assets/motion/assets/sfx/casino/die-throw-3.ogg +0 -0
  71. package/assets/motion/assets/sfx/casino/die-throw-4.ogg +0 -0
  72. package/assets/motion/assets/sfx/impact/footstep_carpet_000.ogg +0 -0
  73. package/assets/motion/assets/sfx/impact/footstep_carpet_003.ogg +0 -0
  74. package/assets/motion/assets/sfx/impact/footstep_carpet_004.ogg +0 -0
  75. package/assets/motion/assets/sfx/impact/footstep_concrete_000.ogg +0 -0
  76. package/assets/motion/assets/sfx/impact/footstep_concrete_001.ogg +0 -0
  77. package/assets/motion/assets/sfx/impact/footstep_concrete_002.ogg +0 -0
  78. package/assets/motion/assets/sfx/impact/footstep_concrete_003.ogg +0 -0
  79. package/assets/motion/assets/sfx/impact/footstep_concrete_004.ogg +0 -0
  80. package/assets/motion/assets/sfx/impact/footstep_grass_000.ogg +0 -0
  81. package/assets/motion/assets/sfx/impact/footstep_grass_001.ogg +0 -0
  82. package/assets/motion/assets/sfx/impact/footstep_grass_002.ogg +0 -0
  83. package/assets/motion/assets/sfx/impact/footstep_grass_003.ogg +0 -0
  84. package/assets/motion/assets/sfx/impact/footstep_grass_004.ogg +0 -0
  85. package/assets/motion/assets/sfx/impact/footstep_snow_000.ogg +0 -0
  86. package/assets/motion/assets/sfx/impact/footstep_snow_001.ogg +0 -0
  87. package/assets/motion/assets/sfx/impact/footstep_snow_002.ogg +0 -0
  88. package/assets/motion/assets/sfx/impact/footstep_snow_003.ogg +0 -0
  89. package/assets/motion/assets/sfx/impact/footstep_snow_004.ogg +0 -0
  90. package/assets/motion/assets/sfx/impact/footstep_wood_000.ogg +0 -0
  91. package/assets/motion/assets/sfx/impact/footstep_wood_001.ogg +0 -0
  92. package/assets/motion/assets/sfx/impact/footstep_wood_002.ogg +0 -0
  93. package/assets/motion/assets/sfx/impact/footstep_wood_003.ogg +0 -0
  94. package/assets/motion/assets/sfx/impact/footstep_wood_004.ogg +0 -0
  95. package/assets/motion/assets/sfx/impact/impactBell_heavy_000.ogg +0 -0
  96. package/assets/motion/assets/sfx/impact/impactBell_heavy_003.ogg +0 -0
  97. package/assets/motion/assets/sfx/impact/impactBell_heavy_004.ogg +0 -0
  98. package/assets/motion/assets/sfx/impact/impactGeneric_light_000.ogg +0 -0
  99. package/assets/motion/assets/sfx/impact/impactGeneric_light_001.ogg +0 -0
  100. package/assets/motion/assets/sfx/impact/impactGeneric_light_002.ogg +0 -0
  101. package/assets/motion/assets/sfx/impact/impactGeneric_light_003.ogg +0 -0
  102. package/assets/motion/assets/sfx/impact/impactGeneric_light_004.ogg +0 -0
  103. package/assets/motion/assets/sfx/impact/impactGlass_heavy_002.ogg +0 -0
  104. package/assets/motion/assets/sfx/impact/impactGlass_light_001.ogg +0 -0
  105. package/assets/motion/assets/sfx/impact/impactGlass_light_002.ogg +0 -0
  106. package/assets/motion/assets/sfx/impact/impactGlass_light_003.ogg +0 -0
  107. package/assets/motion/assets/sfx/impact/impactGlass_medium_000.ogg +0 -0
  108. package/assets/motion/assets/sfx/impact/impactGlass_medium_002.ogg +0 -0
  109. package/assets/motion/assets/sfx/impact/impactGlass_medium_004.ogg +0 -0
  110. package/assets/motion/assets/sfx/impact/impactMetal_heavy_000.ogg +0 -0
  111. package/assets/motion/assets/sfx/impact/impactMetal_heavy_002.ogg +0 -0
  112. package/assets/motion/assets/sfx/impact/impactMetal_heavy_004.ogg +0 -0
  113. package/assets/motion/assets/sfx/impact/impactMetal_light_002.ogg +0 -0
  114. package/assets/motion/assets/sfx/impact/impactMetal_light_003.ogg +0 -0
  115. package/assets/motion/assets/sfx/impact/impactMetal_medium_000.ogg +0 -0
  116. package/assets/motion/assets/sfx/impact/impactMetal_medium_001.ogg +0 -0
  117. package/assets/motion/assets/sfx/impact/impactMetal_medium_002.ogg +0 -0
  118. package/assets/motion/assets/sfx/impact/impactMetal_medium_003.ogg +0 -0
  119. package/assets/motion/assets/sfx/impact/impactMetal_medium_004.ogg +0 -0
  120. package/assets/motion/assets/sfx/impact/impactMining_001.ogg +0 -0
  121. package/assets/motion/assets/sfx/impact/impactPlank_medium_000.ogg +0 -0
  122. package/assets/motion/assets/sfx/impact/impactPlank_medium_001.ogg +0 -0
  123. package/assets/motion/assets/sfx/impact/impactPlank_medium_002.ogg +0 -0
  124. package/assets/motion/assets/sfx/impact/impactPlank_medium_003.ogg +0 -0
  125. package/assets/motion/assets/sfx/impact/impactPlank_medium_004.ogg +0 -0
  126. package/assets/motion/assets/sfx/impact/impactPlate_heavy_000.ogg +0 -0
  127. package/assets/motion/assets/sfx/impact/impactPlate_heavy_001.ogg +0 -0
  128. package/assets/motion/assets/sfx/impact/impactPlate_heavy_002.ogg +0 -0
  129. package/assets/motion/assets/sfx/impact/impactPlate_heavy_003.ogg +0 -0
  130. package/assets/motion/assets/sfx/impact/impactPlate_heavy_004.ogg +0 -0
  131. package/assets/motion/assets/sfx/impact/impactPlate_light_000.ogg +0 -0
  132. package/assets/motion/assets/sfx/impact/impactPlate_light_001.ogg +0 -0
  133. package/assets/motion/assets/sfx/impact/impactPlate_light_002.ogg +0 -0
  134. package/assets/motion/assets/sfx/impact/impactPlate_light_003.ogg +0 -0
  135. package/assets/motion/assets/sfx/impact/impactPlate_light_004.ogg +0 -0
  136. package/assets/motion/assets/sfx/impact/impactPlate_medium_000.ogg +0 -0
  137. package/assets/motion/assets/sfx/impact/impactPlate_medium_001.ogg +0 -0
  138. package/assets/motion/assets/sfx/impact/impactPlate_medium_002.ogg +0 -0
  139. package/assets/motion/assets/sfx/impact/impactPlate_medium_003.ogg +0 -0
  140. package/assets/motion/assets/sfx/impact/impactPlate_medium_004.ogg +0 -0
  141. package/assets/motion/assets/sfx/impact/impactPunch_heavy_000.ogg +0 -0
  142. package/assets/motion/assets/sfx/impact/impactPunch_heavy_001.ogg +0 -0
  143. package/assets/motion/assets/sfx/impact/impactPunch_heavy_002.ogg +0 -0
  144. package/assets/motion/assets/sfx/impact/impactPunch_heavy_003.ogg +0 -0
  145. package/assets/motion/assets/sfx/impact/impactPunch_heavy_004.ogg +0 -0
  146. package/assets/motion/assets/sfx/impact/impactPunch_medium_000.ogg +0 -0
  147. package/assets/motion/assets/sfx/impact/impactPunch_medium_001.ogg +0 -0
  148. package/assets/motion/assets/sfx/impact/impactPunch_medium_002.ogg +0 -0
  149. package/assets/motion/assets/sfx/impact/impactPunch_medium_003.ogg +0 -0
  150. package/assets/motion/assets/sfx/impact/impactPunch_medium_004.ogg +0 -0
  151. package/assets/motion/assets/sfx/impact/impactSoft_heavy_000.ogg +0 -0
  152. package/assets/motion/assets/sfx/impact/impactSoft_heavy_001.ogg +0 -0
  153. package/assets/motion/assets/sfx/impact/impactSoft_heavy_002.ogg +0 -0
  154. package/assets/motion/assets/sfx/impact/impactSoft_heavy_003.ogg +0 -0
  155. package/assets/motion/assets/sfx/impact/impactSoft_heavy_004.ogg +0 -0
  156. package/assets/motion/assets/sfx/impact/impactSoft_medium_000.ogg +0 -0
  157. package/assets/motion/assets/sfx/impact/impactSoft_medium_001.ogg +0 -0
  158. package/assets/motion/assets/sfx/impact/impactSoft_medium_002.ogg +0 -0
  159. package/assets/motion/assets/sfx/impact/impactSoft_medium_003.ogg +0 -0
  160. package/assets/motion/assets/sfx/impact/impactSoft_medium_004.ogg +0 -0
  161. package/assets/motion/assets/sfx/impact/impactTin_medium_000.ogg +0 -0
  162. package/assets/motion/assets/sfx/impact/impactTin_medium_001.ogg +0 -0
  163. package/assets/motion/assets/sfx/impact/impactTin_medium_002.ogg +0 -0
  164. package/assets/motion/assets/sfx/impact/impactTin_medium_003.ogg +0 -0
  165. package/assets/motion/assets/sfx/impact/impactTin_medium_004.ogg +0 -0
  166. package/assets/motion/assets/sfx/impact/impactWood_heavy_000.ogg +0 -0
  167. package/assets/motion/assets/sfx/impact/impactWood_heavy_001.ogg +0 -0
  168. package/assets/motion/assets/sfx/impact/impactWood_heavy_002.ogg +0 -0
  169. package/assets/motion/assets/sfx/impact/impactWood_heavy_003.ogg +0 -0
  170. package/assets/motion/assets/sfx/impact/impactWood_heavy_004.ogg +0 -0
  171. package/assets/motion/assets/sfx/impact/impactWood_light_000.ogg +0 -0
  172. package/assets/motion/assets/sfx/impact/impactWood_light_001.ogg +0 -0
  173. package/assets/motion/assets/sfx/impact/impactWood_light_002.ogg +0 -0
  174. package/assets/motion/assets/sfx/impact/impactWood_light_003.ogg +0 -0
  175. package/assets/motion/assets/sfx/impact/impactWood_light_004.ogg +0 -0
  176. package/assets/motion/assets/sfx/impact/impactWood_medium_000.ogg +0 -0
  177. package/assets/motion/assets/sfx/impact/impactWood_medium_001.ogg +0 -0
  178. package/assets/motion/assets/sfx/impact/impactWood_medium_002.ogg +0 -0
  179. package/assets/motion/assets/sfx/impact/impactWood_medium_003.ogg +0 -0
  180. package/assets/motion/assets/sfx/impact/impactWood_medium_004.ogg +0 -0
  181. package/assets/motion/assets/sfx/interface/bong_001.ogg +0 -0
  182. package/assets/motion/assets/sfx/interface/click_001.ogg +0 -0
  183. package/assets/motion/assets/sfx/interface/click_002.ogg +0 -0
  184. package/assets/motion/assets/sfx/interface/click_003.ogg +0 -0
  185. package/assets/motion/assets/sfx/interface/click_004.ogg +0 -0
  186. package/assets/motion/assets/sfx/interface/click_005.ogg +0 -0
  187. package/assets/motion/assets/sfx/interface/drop_001.ogg +0 -0
  188. package/assets/motion/assets/sfx/interface/drop_002.ogg +0 -0
  189. package/assets/motion/assets/sfx/interface/drop_003.ogg +0 -0
  190. package/assets/motion/assets/sfx/interface/error_005.ogg +0 -0
  191. package/assets/motion/assets/sfx/interface/error_006.ogg +0 -0
  192. package/assets/motion/assets/sfx/interface/glitch_002.ogg +0 -0
  193. package/assets/motion/assets/sfx/interface/glitch_004.ogg +0 -0
  194. package/assets/motion/assets/sfx/interface/select_008.ogg +0 -0
  195. package/assets/motion/assets/sfx/interface/switch_001.ogg +0 -0
  196. package/assets/motion/assets/sfx/interface/switch_002.ogg +0 -0
  197. package/assets/motion/assets/sfx/interface/switch_004.ogg +0 -0
  198. package/assets/motion/assets/sfx/interface/switch_005.ogg +0 -0
  199. package/assets/motion/assets/sfx/interface/switch_006.ogg +0 -0
  200. package/assets/motion/assets/sfx/interface/switch_007.ogg +0 -0
  201. package/assets/motion/assets/sfx/keyboard/keypress-001.wav +0 -0
  202. package/assets/motion/assets/sfx/keyboard/keypress-002.wav +0 -0
  203. package/assets/motion/assets/sfx/keyboard/keypress-003.wav +0 -0
  204. package/assets/motion/assets/sfx/keyboard/keypress-004.wav +0 -0
  205. package/assets/motion/assets/sfx/keyboard/keypress-005.wav +0 -0
  206. package/assets/motion/assets/sfx/keyboard/keypress-006.wav +0 -0
  207. package/assets/motion/assets/sfx/keyboard/keypress-007.wav +0 -0
  208. package/assets/motion/assets/sfx/keyboard/keypress-008.wav +0 -0
  209. package/assets/motion/assets/sfx/keyboard/keypress-009.wav +0 -0
  210. package/assets/motion/assets/sfx/keyboard/keypress-010.wav +0 -0
  211. package/assets/motion/assets/sfx/keyboard/keypress-011.wav +0 -0
  212. package/assets/motion/assets/sfx/keyboard/keypress-012.wav +0 -0
  213. package/assets/motion/assets/sfx/keyboard/keypress-013.wav +0 -0
  214. package/assets/motion/assets/sfx/keyboard/keypress-014.wav +0 -0
  215. package/assets/motion/assets/sfx/keyboard/keypress-015.wav +0 -0
  216. package/assets/motion/assets/sfx/keyboard/keypress-016.wav +0 -0
  217. package/assets/motion/assets/sfx/keyboard/keypress-017.wav +0 -0
  218. package/assets/motion/assets/sfx/keyboard/keypress-018.wav +0 -0
  219. package/assets/motion/assets/sfx/keyboard/keypress-019.wav +0 -0
  220. package/assets/motion/assets/sfx/keyboard/keypress-020.wav +0 -0
  221. package/assets/motion/assets/sfx/keyboard/keypress-021.wav +0 -0
  222. package/assets/motion/assets/sfx/keyboard/keypress-022.wav +0 -0
  223. package/assets/motion/assets/sfx/keyboard/keypress-023.wav +0 -0
  224. package/assets/motion/assets/sfx/keyboard/keypress-024.wav +0 -0
  225. package/assets/motion/assets/sfx/keyboard/keypress-025.wav +0 -0
  226. package/assets/motion/assets/sfx/keyboard/keypress-026.wav +0 -0
  227. package/assets/motion/assets/sfx/keyboard/keypress-027.wav +0 -0
  228. package/assets/motion/assets/sfx/keyboard/keypress-028.wav +0 -0
  229. package/assets/motion/assets/sfx/keyboard/keypress-029.wav +0 -0
  230. package/assets/motion/assets/sfx/keyboard/keypress-030.wav +0 -0
  231. package/assets/motion/assets/sfx/keyboard/keypress-031.wav +0 -0
  232. package/assets/motion/assets/sfx/keyboard/keypress-032.wav +0 -0
  233. package/assets/motion/assets/sfx/sfx-analysis.json +15584 -0
  234. package/assets/motion/assets/sfx/sfx-analysis.md +75 -0
  235. package/assets/motion/assets/sfx/ui/click1.ogg +0 -0
  236. package/assets/motion/assets/sfx/ui/click2.ogg +0 -0
  237. package/assets/motion/assets/sfx/ui/click3.ogg +0 -0
  238. package/assets/motion/assets/sfx/ui/click4.ogg +0 -0
  239. package/assets/motion/assets/sfx/ui/click5.ogg +0 -0
  240. package/assets/motion/assets/sfx/ui/mouseclick1.ogg +0 -0
  241. package/assets/motion/assets/sfx/ui/rollover1.ogg +0 -0
  242. package/assets/motion/assets/sfx/ui/rollover2.ogg +0 -0
  243. package/assets/motion/assets/sfx/ui/rollover4.ogg +0 -0
  244. package/assets/motion/assets/sfx/ui/rollover5.ogg +0 -0
  245. package/assets/motion/assets/sfx/ui/switch1.ogg +0 -0
  246. package/assets/motion/assets/sfx/ui/switch10.ogg +0 -0
  247. package/assets/motion/assets/sfx/ui/switch11.ogg +0 -0
  248. package/assets/motion/assets/sfx/ui/switch12.ogg +0 -0
  249. package/assets/motion/assets/sfx/ui/switch13.ogg +0 -0
  250. package/assets/motion/assets/sfx/ui/switch14.ogg +0 -0
  251. package/assets/motion/assets/sfx/ui/switch15.ogg +0 -0
  252. package/assets/motion/assets/sfx/ui/switch16.ogg +0 -0
  253. package/assets/motion/assets/sfx/ui/switch17.ogg +0 -0
  254. package/assets/motion/assets/sfx/ui/switch18.ogg +0 -0
  255. package/assets/motion/assets/sfx/ui/switch19.ogg +0 -0
  256. package/assets/motion/assets/sfx/ui/switch2.ogg +0 -0
  257. package/assets/motion/assets/sfx/ui/switch20.ogg +0 -0
  258. package/assets/motion/assets/sfx/ui/switch21.ogg +0 -0
  259. package/assets/motion/assets/sfx/ui/switch22.ogg +0 -0
  260. package/assets/motion/assets/sfx/ui/switch23.ogg +0 -0
  261. package/assets/motion/assets/sfx/ui/switch24.ogg +0 -0
  262. package/assets/motion/assets/sfx/ui/switch25.ogg +0 -0
  263. package/assets/motion/assets/sfx/ui/switch26.ogg +0 -0
  264. package/assets/motion/assets/sfx/ui/switch27.ogg +0 -0
  265. package/assets/motion/assets/sfx/ui/switch28.ogg +0 -0
  266. package/assets/motion/assets/sfx/ui/switch29.ogg +0 -0
  267. package/assets/motion/assets/sfx/ui/switch3.ogg +0 -0
  268. package/assets/motion/assets/sfx/ui/switch30.ogg +0 -0
  269. package/assets/motion/assets/sfx/ui/switch31.ogg +0 -0
  270. package/assets/motion/assets/sfx/ui/switch32.ogg +0 -0
  271. package/assets/motion/assets/sfx/ui/switch33.ogg +0 -0
  272. package/assets/motion/assets/sfx/ui/switch34.ogg +0 -0
  273. package/assets/motion/assets/sfx/ui/switch35.ogg +0 -0
  274. package/assets/motion/assets/sfx/ui/switch36.ogg +0 -0
  275. package/assets/motion/assets/sfx/ui/switch37.ogg +0 -0
  276. package/assets/motion/assets/sfx/ui/switch38.ogg +0 -0
  277. package/assets/motion/assets/sfx/ui/switch4.ogg +0 -0
  278. package/assets/motion/assets/sfx/ui/switch5.ogg +0 -0
  279. package/assets/motion/assets/sfx/ui/switch6.ogg +0 -0
  280. package/assets/motion/assets/sfx/ui/switch7.ogg +0 -0
  281. package/assets/motion/assets/sfx/ui/switch8.ogg +0 -0
  282. package/assets/motion/assets/sfx/ui/switch9.ogg +0 -0
  283. package/assets/motion/bin/contact-sheet.mjs +87 -0
  284. package/assets/motion/bin/fonts.mjs +107 -0
  285. package/assets/motion/bin/hyperframes.mjs +122 -0
  286. package/assets/motion/bin/library.mjs +210 -0
  287. package/assets/motion/bin/media-binaries.mjs +49 -0
  288. package/assets/motion/bin/motion-check.mjs +250 -0
  289. package/assets/motion/bin/pdf-extract.mjs +133 -0
  290. package/assets/motion/bin/reveal.mjs +76 -0
  291. package/assets/motion/bin/review-frames.mjs +328 -0
  292. package/assets/motion/bin/score-synth.mjs +486 -0
  293. package/assets/motion/bin/three.mjs +55 -0
  294. package/assets/motion/fonts/anybody/OFL.txt +93 -0
  295. package/assets/motion/fonts/anybody/anybody-normal.woff2 +0 -0
  296. package/assets/motion/fonts/archivo/OFL.txt +93 -0
  297. package/assets/motion/fonts/archivo/archivo-normal.woff2 +0 -0
  298. package/assets/motion/fonts/big-shoulders/OFL.txt +93 -0
  299. package/assets/motion/fonts/big-shoulders/big-shoulders-normal.woff2 +0 -0
  300. package/assets/motion/fonts/bricolage-grotesque/OFL.txt +93 -0
  301. package/assets/motion/fonts/bricolage-grotesque/bricolage-grotesque-normal.woff2 +0 -0
  302. package/assets/motion/fonts/doto/OFL.txt +93 -0
  303. package/assets/motion/fonts/doto/doto-normal.woff2 +0 -0
  304. package/assets/motion/fonts/fonts.json +209 -0
  305. package/assets/motion/fonts/fraunces/OFL.txt +93 -0
  306. package/assets/motion/fonts/fraunces/fraunces-italic.woff2 +0 -0
  307. package/assets/motion/fonts/fraunces/fraunces-normal.woff2 +0 -0
  308. package/assets/motion/fonts/funnel-display/OFL.txt +93 -0
  309. package/assets/motion/fonts/funnel-display/funnel-display-normal.woff2 +0 -0
  310. package/assets/motion/fonts/gloock/OFL.txt +93 -0
  311. package/assets/motion/fonts/gloock/gloock-normal.woff2 +0 -0
  312. package/assets/motion/fonts/host-grotesk/OFL.txt +93 -0
  313. package/assets/motion/fonts/host-grotesk/host-grotesk-normal.woff2 +0 -0
  314. package/assets/motion/fonts/hubot-sans/OFL.txt +93 -0
  315. package/assets/motion/fonts/hubot-sans/hubot-sans-normal.woff2 +0 -0
  316. package/assets/motion/fonts/martian-mono/OFL.txt +93 -0
  317. package/assets/motion/fonts/martian-mono/martian-mono-normal.woff2 +0 -0
  318. package/assets/motion/fonts/mona-sans/OFL.txt +93 -0
  319. package/assets/motion/fonts/mona-sans/mona-sans-normal.woff2 +0 -0
  320. package/assets/motion/fonts/newsreader/OFL.txt +93 -0
  321. package/assets/motion/fonts/newsreader/newsreader-italic.woff2 +0 -0
  322. package/assets/motion/fonts/newsreader/newsreader-normal.woff2 +0 -0
  323. package/assets/motion/fonts/schibsted-grotesk/OFL.txt +93 -0
  324. package/assets/motion/fonts/schibsted-grotesk/schibsted-grotesk-normal.woff2 +0 -0
  325. package/assets/motion/fonts/specimen.jpg +0 -0
  326. package/assets/motion/fonts/young-serif/OFL.txt +93 -0
  327. package/assets/motion/fonts/young-serif/young-serif-normal.woff2 +0 -0
  328. package/assets/motion/library/README.md +104 -0
  329. package/assets/motion/library/library.json +1384 -0
  330. package/assets/motion/library/looks/acid-poster/look.md +82 -0
  331. package/assets/motion/library/looks/acid-poster/meta.json +11 -0
  332. package/assets/motion/library/looks/acid-poster/preview.jpg +0 -0
  333. package/assets/motion/library/looks/acid-poster/sample.html +177 -0
  334. package/assets/motion/library/looks/acid-poster/tokens.css +16 -0
  335. package/assets/motion/library/looks/blueprint/look.md +22 -0
  336. package/assets/motion/library/looks/blueprint/meta.json +11 -0
  337. package/assets/motion/library/looks/blueprint/preview.jpg +0 -0
  338. package/assets/motion/library/looks/blueprint/sample.html +301 -0
  339. package/assets/motion/library/looks/blueprint/tokens.css +16 -0
  340. package/assets/motion/library/looks/dark-studio/look.md +85 -0
  341. package/assets/motion/library/looks/dark-studio/meta.json +11 -0
  342. package/assets/motion/library/looks/dark-studio/preview.jpg +0 -0
  343. package/assets/motion/library/looks/dark-studio/sample.html +324 -0
  344. package/assets/motion/library/looks/dark-studio/tokens.css +16 -0
  345. package/assets/motion/library/looks/data-desk/look.md +19 -0
  346. package/assets/motion/library/looks/data-desk/meta.json +9 -0
  347. package/assets/motion/library/looks/data-desk/preview.jpg +0 -0
  348. package/assets/motion/library/looks/data-desk/sample.html +17 -0
  349. package/assets/motion/library/looks/data-desk/tokens.css +15 -0
  350. package/assets/motion/library/looks/duotone-broadcast/look.md +53 -0
  351. package/assets/motion/library/looks/duotone-broadcast/meta.json +11 -0
  352. package/assets/motion/library/looks/duotone-broadcast/preview.jpg +0 -0
  353. package/assets/motion/library/looks/duotone-broadcast/sample.html +45 -0
  354. package/assets/motion/library/looks/duotone-broadcast/tokens.css +16 -0
  355. package/assets/motion/library/looks/editorial-ink/look.md +80 -0
  356. package/assets/motion/library/looks/editorial-ink/meta.json +11 -0
  357. package/assets/motion/library/looks/editorial-ink/preview.jpg +0 -0
  358. package/assets/motion/library/looks/editorial-ink/sample.html +203 -0
  359. package/assets/motion/library/looks/editorial-ink/tokens.css +16 -0
  360. package/assets/motion/library/looks/mono-luxe/look.md +19 -0
  361. package/assets/motion/library/looks/mono-luxe/meta.json +9 -0
  362. package/assets/motion/library/looks/mono-luxe/preview.jpg +0 -0
  363. package/assets/motion/library/looks/mono-luxe/sample.html +12 -0
  364. package/assets/motion/library/looks/mono-luxe/tokens.css +15 -0
  365. package/assets/motion/library/looks/soft-light-ad/look.md +63 -0
  366. package/assets/motion/library/looks/soft-light-ad/meta.json +39 -0
  367. package/assets/motion/library/looks/soft-light-ad/preview.jpg +0 -0
  368. package/assets/motion/library/looks/soft-light-ad/sample.html +44 -0
  369. package/assets/motion/library/looks/soft-light-ad/tokens.css +17 -0
  370. package/assets/motion/library/looks/sunlit-consumer/look.md +19 -0
  371. package/assets/motion/library/looks/sunlit-consumer/meta.json +9 -0
  372. package/assets/motion/library/looks/sunlit-consumer/preview.jpg +0 -0
  373. package/assets/motion/library/looks/sunlit-consumer/sample.html +12 -0
  374. package/assets/motion/library/looks/sunlit-consumer/tokens.css +15 -0
  375. package/assets/motion/library/looks/swiss-grid/look.md +81 -0
  376. package/assets/motion/library/looks/swiss-grid/meta.json +11 -0
  377. package/assets/motion/library/looks/swiss-grid/preview.jpg +0 -0
  378. package/assets/motion/library/looks/swiss-grid/sample.html +209 -0
  379. package/assets/motion/library/looks/swiss-grid/tokens.css +16 -0
  380. package/assets/motion/library/looks/terminal-phosphor/look.md +77 -0
  381. package/assets/motion/library/looks/terminal-phosphor/meta.json +11 -0
  382. package/assets/motion/library/looks/terminal-phosphor/preview.jpg +0 -0
  383. package/assets/motion/library/looks/terminal-phosphor/sample.html +182 -0
  384. package/assets/motion/library/looks/terminal-phosphor/tokens.css +16 -0
  385. package/assets/motion/library/pieces/animated-beam/LICENSE +21 -0
  386. package/assets/motion/library/pieces/animated-beam/meta.json +16 -0
  387. package/assets/motion/library/pieces/animated-beam/piece.html +273 -0
  388. package/assets/motion/library/pieces/animated-beam/preview.jpg +0 -0
  389. package/assets/motion/library/pieces/animated-list/LICENSE +21 -0
  390. package/assets/motion/library/pieces/animated-list/meta.json +16 -0
  391. package/assets/motion/library/pieces/animated-list/piece.html +189 -0
  392. package/assets/motion/library/pieces/animated-list/preview.jpg +0 -0
  393. package/assets/motion/library/pieces/before-after-split/meta.json +12 -0
  394. package/assets/motion/library/pieces/before-after-split/piece.html +262 -0
  395. package/assets/motion/library/pieces/before-after-split/preview.jpg +0 -0
  396. package/assets/motion/library/pieces/blueprint-grid/meta.json +12 -0
  397. package/assets/motion/library/pieces/blueprint-grid/piece.html +209 -0
  398. package/assets/motion/library/pieces/blueprint-grid/preview.jpg +0 -0
  399. package/assets/motion/library/pieces/broadcast-frame/meta.json +12 -0
  400. package/assets/motion/library/pieces/broadcast-frame/piece.html +100 -0
  401. package/assets/motion/library/pieces/broadcast-frame/preview.jpg +0 -0
  402. package/assets/motion/library/pieces/browser-window/meta.json +12 -0
  403. package/assets/motion/library/pieces/browser-window/piece.html +331 -0
  404. package/assets/motion/library/pieces/browser-window/preview.jpg +0 -0
  405. package/assets/motion/library/pieces/chapter-card/meta.json +6 -0
  406. package/assets/motion/library/pieces/chapter-card/piece.html +12 -0
  407. package/assets/motion/library/pieces/chapter-card/preview.jpg +0 -0
  408. package/assets/motion/library/pieces/chat-thread/meta.json +12 -0
  409. package/assets/motion/library/pieces/chat-thread/piece.html +272 -0
  410. package/assets/motion/library/pieces/chat-thread/preview.jpg +0 -0
  411. package/assets/motion/library/pieces/clay-drop-3d/meta.json +13 -0
  412. package/assets/motion/library/pieces/clay-drop-3d/piece.html +224 -0
  413. package/assets/motion/library/pieces/clay-drop-3d/preview.jpg +0 -0
  414. package/assets/motion/library/pieces/color-flip-field/meta.json +12 -0
  415. package/assets/motion/library/pieces/color-flip-field/piece.html +81 -0
  416. package/assets/motion/library/pieces/color-flip-field/preview.jpg +0 -0
  417. package/assets/motion/library/pieces/color-wipe/meta.json +6 -0
  418. package/assets/motion/library/pieces/color-wipe/piece.html +10 -0
  419. package/assets/motion/library/pieces/color-wipe/preview.jpg +0 -0
  420. package/assets/motion/library/pieces/command-palette/meta.json +12 -0
  421. package/assets/motion/library/pieces/command-palette/piece.html +339 -0
  422. package/assets/motion/library/pieces/command-palette/preview.jpg +0 -0
  423. package/assets/motion/library/pieces/comparison-bars/meta.json +12 -0
  424. package/assets/motion/library/pieces/comparison-bars/piece.html +191 -0
  425. package/assets/motion/library/pieces/comparison-bars/preview.jpg +0 -0
  426. package/assets/motion/library/pieces/counter-number/meta.json +12 -0
  427. package/assets/motion/library/pieces/counter-number/piece.html +131 -0
  428. package/assets/motion/library/pieces/counter-number/preview.jpg +0 -0
  429. package/assets/motion/library/pieces/cursor-click/meta.json +12 -0
  430. package/assets/motion/library/pieces/cursor-click/piece.html +242 -0
  431. package/assets/motion/library/pieces/cursor-click/preview.jpg +0 -0
  432. package/assets/motion/library/pieces/dock-magnify/LICENSE +21 -0
  433. package/assets/motion/library/pieces/dock-magnify/meta.json +16 -0
  434. package/assets/motion/library/pieces/dock-magnify/piece.html +234 -0
  435. package/assets/motion/library/pieces/dock-magnify/preview.jpg +0 -0
  436. package/assets/motion/library/pieces/donut-fill/meta.json +12 -0
  437. package/assets/motion/library/pieces/donut-fill/piece.html +156 -0
  438. package/assets/motion/library/pieces/donut-fill/preview.jpg +0 -0
  439. package/assets/motion/library/pieces/dot-grid-field/meta.json +12 -0
  440. package/assets/motion/library/pieces/dot-grid-field/piece.html +61 -0
  441. package/assets/motion/library/pieces/dot-grid-field/preview.jpg +0 -0
  442. package/assets/motion/library/pieces/ease-curve/meta.json +12 -0
  443. package/assets/motion/library/pieces/ease-curve/piece.html +103 -0
  444. package/assets/motion/library/pieces/ease-curve/preview.jpg +0 -0
  445. package/assets/motion/library/pieces/end-card/meta.json +6 -0
  446. package/assets/motion/library/pieces/end-card/piece.html +11 -0
  447. package/assets/motion/library/pieces/end-card/preview.jpg +0 -0
  448. package/assets/motion/library/pieces/film-grain/meta.json +12 -0
  449. package/assets/motion/library/pieces/film-grain/piece.html +93 -0
  450. package/assets/motion/library/pieces/film-grain/preview.jpg +0 -0
  451. package/assets/motion/library/pieces/flickering-grid/LICENSE +21 -0
  452. package/assets/motion/library/pieces/flickering-grid/meta.json +16 -0
  453. package/assets/motion/library/pieces/flickering-grid/piece.html +112 -0
  454. package/assets/motion/library/pieces/flickering-grid/preview.jpg +0 -0
  455. package/assets/motion/library/pieces/flow-nodes/meta.json +12 -0
  456. package/assets/motion/library/pieces/flow-nodes/piece.html +230 -0
  457. package/assets/motion/library/pieces/flow-nodes/preview.jpg +0 -0
  458. package/assets/motion/library/pieces/highlight-sweep/meta.json +12 -0
  459. package/assets/motion/library/pieces/highlight-sweep/piece.html +132 -0
  460. package/assets/motion/library/pieces/highlight-sweep/preview.jpg +0 -0
  461. package/assets/motion/library/pieces/iris-circle/meta.json +6 -0
  462. package/assets/motion/library/pieces/iris-circle/piece.html +6 -0
  463. package/assets/motion/library/pieces/iris-circle/preview.jpg +0 -0
  464. package/assets/motion/library/pieces/kinetic-letters/meta.json +12 -0
  465. package/assets/motion/library/pieces/kinetic-letters/piece.html +103 -0
  466. package/assets/motion/library/pieces/kinetic-letters/preview.jpg +0 -0
  467. package/assets/motion/library/pieces/light-leak-soft/meta.json +12 -0
  468. package/assets/motion/library/pieces/light-leak-soft/piece.html +102 -0
  469. package/assets/motion/library/pieces/light-leak-soft/preview.jpg +0 -0
  470. package/assets/motion/library/pieces/line-stack-reveal/meta.json +12 -0
  471. package/assets/motion/library/pieces/line-stack-reveal/piece.html +98 -0
  472. package/assets/motion/library/pieces/line-stack-reveal/preview.jpg +0 -0
  473. package/assets/motion/library/pieces/lower-third/meta.json +6 -0
  474. package/assets/motion/library/pieces/lower-third/piece.html +11 -0
  475. package/assets/motion/library/pieces/lower-third/preview.jpg +0 -0
  476. package/assets/motion/library/pieces/marquee-strip/meta.json +12 -0
  477. package/assets/motion/library/pieces/marquee-strip/piece.html +132 -0
  478. package/assets/motion/library/pieces/marquee-strip/preview.jpg +0 -0
  479. package/assets/motion/library/pieces/mesh-gradient/meta.json +12 -0
  480. package/assets/motion/library/pieces/mesh-gradient/piece.html +131 -0
  481. package/assets/motion/library/pieces/mesh-gradient/preview.jpg +0 -0
  482. package/assets/motion/library/pieces/orbiting-circles/LICENSE +21 -0
  483. package/assets/motion/library/pieces/orbiting-circles/meta.json +16 -0
  484. package/assets/motion/library/pieces/orbiting-circles/piece.html +185 -0
  485. package/assets/motion/library/pieces/orbiting-circles/preview.jpg +0 -0
  486. package/assets/motion/library/pieces/phone-frame/meta.json +12 -0
  487. package/assets/motion/library/pieces/phone-frame/piece.html +252 -0
  488. package/assets/motion/library/pieces/phone-frame/preview.jpg +0 -0
  489. package/assets/motion/library/pieces/pricing-toggle/meta.json +6 -0
  490. package/assets/motion/library/pieces/pricing-toggle/piece.html +18 -0
  491. package/assets/motion/library/pieces/pricing-toggle/preview.jpg +0 -0
  492. package/assets/motion/library/pieces/retro-grid/LICENSE +21 -0
  493. package/assets/motion/library/pieces/retro-grid/meta.json +16 -0
  494. package/assets/motion/library/pieces/retro-grid/piece.html +139 -0
  495. package/assets/motion/library/pieces/retro-grid/preview.jpg +0 -0
  496. package/assets/motion/library/pieces/scale-through-word/meta.json +12 -0
  497. package/assets/motion/library/pieces/scale-through-word/piece.html +139 -0
  498. package/assets/motion/library/pieces/scale-through-word/preview.jpg +0 -0
  499. package/assets/motion/library/pieces/serif-quote/meta.json +12 -0
  500. package/assets/motion/library/pieces/serif-quote/piece.html +145 -0
  501. package/assets/motion/library/pieces/serif-quote/preview.jpg +0 -0
  502. package/assets/motion/library/pieces/slam-word/meta.json +12 -0
  503. package/assets/motion/library/pieces/slam-word/piece.html +72 -0
  504. package/assets/motion/library/pieces/slam-word/preview.jpg +0 -0
  505. package/assets/motion/library/pieces/soft-light-field/meta.json +12 -0
  506. package/assets/motion/library/pieces/soft-light-field/piece.html +83 -0
  507. package/assets/motion/library/pieces/soft-light-field/preview.jpg +0 -0
  508. package/assets/motion/library/pieces/sparkline-draw/meta.json +12 -0
  509. package/assets/motion/library/pieces/sparkline-draw/piece.html +204 -0
  510. package/assets/motion/library/pieces/sparkline-draw/preview.jpg +0 -0
  511. package/assets/motion/library/pieces/stack-layers/meta.json +12 -0
  512. package/assets/motion/library/pieces/stack-layers/piece.html +239 -0
  513. package/assets/motion/library/pieces/stack-layers/preview.jpg +0 -0
  514. package/assets/motion/library/pieces/stat-grid/meta.json +12 -0
  515. package/assets/motion/library/pieces/stat-grid/piece.html +200 -0
  516. package/assets/motion/library/pieces/stat-grid/preview.jpg +0 -0
  517. package/assets/motion/library/pieces/studio-backdrop/meta.json +12 -0
  518. package/assets/motion/library/pieces/studio-backdrop/piece.html +83 -0
  519. package/assets/motion/library/pieces/studio-backdrop/preview.jpg +0 -0
  520. package/assets/motion/library/pieces/tile-flip/meta.json +6 -0
  521. package/assets/motion/library/pieces/tile-flip/piece.html +6 -0
  522. package/assets/motion/library/pieces/tile-flip/preview.jpg +0 -0
  523. package/assets/motion/library/pieces/timeline-track/meta.json +12 -0
  524. package/assets/motion/library/pieces/timeline-track/piece.html +227 -0
  525. package/assets/motion/library/pieces/timeline-track/preview.jpg +0 -0
  526. package/assets/motion/library/pieces/toast-stack/meta.json +12 -0
  527. package/assets/motion/library/pieces/toast-stack/piece.html +185 -0
  528. package/assets/motion/library/pieces/toast-stack/preview.jpg +0 -0
  529. package/assets/motion/library/pieces/typewriter-caption/meta.json +12 -0
  530. package/assets/motion/library/pieces/typewriter-caption/piece.html +112 -0
  531. package/assets/motion/library/pieces/typewriter-caption/preview.jpg +0 -0
  532. package/assets/motion/library/pieces/ui-stack-3d/meta.json +12 -0
  533. package/assets/motion/library/pieces/ui-stack-3d/piece.html +236 -0
  534. package/assets/motion/library/pieces/ui-stack-3d/preview.jpg +0 -0
  535. package/assets/motion/library/pieces/vignette/meta.json +12 -0
  536. package/assets/motion/library/pieces/vignette/piece.html +85 -0
  537. package/assets/motion/library/pieces/vignette/preview.jpg +0 -0
  538. package/assets/motion/library/pieces/word-swap/meta.json +12 -0
  539. package/assets/motion/library/pieces/word-swap/piece.html +122 -0
  540. package/assets/motion/library/pieces/word-swap/preview.jpg +0 -0
  541. package/assets/motion/library/sheets/3d.jpg +0 -0
  542. package/assets/motion/library/sheets/background.jpg +0 -0
  543. package/assets/motion/library/sheets/data.jpg +0 -0
  544. package/assets/motion/library/sheets/diagram.jpg +0 -0
  545. package/assets/motion/library/sheets/frame.jpg +0 -0
  546. package/assets/motion/library/sheets/looks.jpg +0 -0
  547. package/assets/motion/library/sheets/texture.jpg +0 -0
  548. package/assets/motion/library/sheets/transition.jpg +0 -0
  549. package/assets/motion/library/sheets/type.jpg +0 -0
  550. package/assets/motion/library/sheets/ui.jpg +0 -0
  551. package/assets/motion/plugin.json +5 -0
  552. package/assets/motion/references/README.md +20 -0
  553. package/assets/motion/references/index.json +25 -0
  554. package/assets/motion/references/runtime/data-attributes.md +78 -0
  555. package/assets/motion/references/runtime/determinism-rules.md +53 -0
  556. package/assets/motion/references/runtime/doctor-browser.md +57 -0
  557. package/assets/motion/references/runtime/gsap-easing-and-stagger.md +199 -0
  558. package/assets/motion/references/runtime/gsap-timeline-and-labels.md +96 -0
  559. package/assets/motion/references/runtime/gsap-transforms-and-perf.md +129 -0
  560. package/assets/motion/references/runtime/gsap.md +105 -0
  561. package/assets/motion/references/runtime/inputs-and-assets.md +52 -0
  562. package/assets/motion/references/runtime/lint-validate-inspect.md +131 -0
  563. package/assets/motion/references/runtime/minimal-composition.md +69 -0
  564. package/assets/motion/references/runtime/preview-render.md +156 -0
  565. package/assets/motion/references/runtime/sub-compositions.md +176 -0
  566. package/assets/motion/references/runtime/tracks-and-clips.md +87 -0
  567. package/assets/motion/references/runtime/variables-and-media.md +107 -0
  568. package/assets/motion/references/signal-study.html +39 -0
  569. package/assets/motion/references/signal-temporal.jpg +0 -0
  570. package/assets/motion/references/type-temporal.jpg +0 -0
  571. package/assets/motion/skills/brand-kit/SKILL.md +70 -0
  572. package/assets/motion/skills/mixkit-split-text-617/SKILL.md +115 -0
  573. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-480.json +1 -0
  574. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-494.json +1 -0
  575. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-5.json +1 -0
  576. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-508.json +1 -0
  577. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6525.json +1 -0
  578. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6539.json +1 -0
  579. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6647.json +1 -0
  580. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6663.json +1 -0
  581. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6677.json +1 -0
  582. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6691.json +1 -0
  583. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6706.json +1 -0
  584. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6722.json +1 -0
  585. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6736.json +1 -0
  586. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6750.json +1 -0
  587. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6764.json +1 -0
  588. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6780.json +1 -0
  589. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6794.json +1 -0
  590. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6810.json +1 -0
  591. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6823.json +1 -0
  592. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6872.json +1 -0
  593. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-6936.json +1 -0
  594. package/assets/motion/skills/mixkit-split-text-617/data/compositions/comp-76.json +1 -0
  595. package/assets/motion/skills/mixkit-split-text-617/data/manifest.json +495 -0
  596. package/assets/motion/skills/mixkit-split-text-617/references/RECONSTRUCTION.md +201 -0
  597. package/assets/motion/skills/mixkit-split-text-617/references/VERIFICATION.md +107 -0
  598. package/assets/motion/skills/mixkit-split-text-617/tools/inspect_motion.py +130 -0
  599. package/assets/motion/skills/motion/SKILL.md +102 -0
  600. package/assets/motion/skills/source-ingest/SKILL.md +48 -0
  601. package/assets/motion/skills/video-qa/SKILL.md +66 -0
  602. package/assets/motion/vendor/three/LICENSE +21 -0
  603. package/assets/motion/vendor/three/addons/environments/RoomEnvironment.js +182 -0
  604. package/assets/motion/vendor/three/addons/geometries/RoundedBoxGeometry.js +216 -0
  605. package/assets/motion/vendor/three/addons/geometries/TextGeometry.js +84 -0
  606. package/assets/motion/vendor/three/addons/lights/RectAreaLightTexturesLib.js +127 -0
  607. package/assets/motion/vendor/three/addons/lights/RectAreaLightUniformsLib.js +40 -0
  608. package/assets/motion/vendor/three/addons/loaders/FontLoader.js +260 -0
  609. package/assets/motion/vendor/three/addons/loaders/GLTFLoader.js +4892 -0
  610. package/assets/motion/vendor/three/addons/loaders/HDRLoader.js +486 -0
  611. package/assets/motion/vendor/three/addons/loaders/SVGLoader.js +3267 -0
  612. package/assets/motion/vendor/three/addons/math/SimplexNoise.js +470 -0
  613. package/assets/motion/vendor/three/addons/objects/Reflector.js +338 -0
  614. package/assets/motion/vendor/three/addons/postprocessing/BokehPass.js +218 -0
  615. package/assets/motion/vendor/three/addons/postprocessing/EffectComposer.js +363 -0
  616. package/assets/motion/vendor/three/addons/postprocessing/FilmPass.js +113 -0
  617. package/assets/motion/vendor/three/addons/postprocessing/MaskPass.js +195 -0
  618. package/assets/motion/vendor/three/addons/postprocessing/OutputPass.js +139 -0
  619. package/assets/motion/vendor/three/addons/postprocessing/Pass.js +191 -0
  620. package/assets/motion/vendor/three/addons/postprocessing/RenderPass.js +183 -0
  621. package/assets/motion/vendor/three/addons/postprocessing/ShaderPass.js +135 -0
  622. package/assets/motion/vendor/three/addons/postprocessing/UnrealBloomPass.js +494 -0
  623. package/assets/motion/vendor/three/addons/renderers/CSS3DRenderer.js +454 -0
  624. package/assets/motion/vendor/three/addons/shaders/BokehShader.js +151 -0
  625. package/assets/motion/vendor/three/addons/shaders/CopyShader.js +52 -0
  626. package/assets/motion/vendor/three/addons/shaders/FilmShader.js +72 -0
  627. package/assets/motion/vendor/three/addons/shaders/LuminosityHighPassShader.js +68 -0
  628. package/assets/motion/vendor/three/addons/shaders/OutputShader.js +103 -0
  629. package/assets/motion/vendor/three/addons/utils/BufferGeometryUtils.js +1435 -0
  630. package/assets/motion/vendor/three/build/three.core.min.js +6 -0
  631. package/assets/motion/vendor/three/build/three.module.min.js +6 -0
  632. package/assets/motion/vendor/three/three.json +54 -0
  633. package/dist/app-sidecar-sessions.js +5 -0
  634. package/dist/app-sidecar-sessions.js.map +1 -1
  635. package/dist/app-sidecar.js +52 -16
  636. package/dist/app-sidecar.js.map +1 -1
  637. package/dist/cli.js +1 -1
  638. package/dist/cli.js.map +1 -1
  639. package/dist/core/agent-session.d.ts +26 -0
  640. package/dist/core/agent-session.js +116 -6
  641. package/dist/core/agent-session.js.map +1 -1
  642. package/dist/core/auth-providers.js +5 -5
  643. package/dist/core/auth-providers.js.map +1 -1
  644. package/dist/core/completion-review.d.ts +24 -0
  645. package/dist/core/completion-review.js +2 -0
  646. package/dist/core/completion-review.js.map +1 -0
  647. package/dist/core/context-limits.d.ts +6 -0
  648. package/dist/core/context-limits.js +8 -0
  649. package/dist/core/context-limits.js.map +1 -1
  650. package/dist/core/lsp/pool.d.ts +2 -0
  651. package/dist/core/lsp/pool.js +4 -0
  652. package/dist/core/lsp/pool.js.map +1 -1
  653. package/dist/core/network-guard.d.ts +2 -0
  654. package/dist/core/network-guard.js +37 -0
  655. package/dist/core/network-guard.js.map +1 -1
  656. package/dist/core/project-discovery.js +3 -0
  657. package/dist/core/project-discovery.js.map +1 -1
  658. package/dist/core/session-export.d.ts +2 -2
  659. package/dist/core/session-export.js +6 -2
  660. package/dist/core/session-export.js.map +1 -1
  661. package/dist/core/skills.d.ts +15 -0
  662. package/dist/core/skills.js +35 -1
  663. package/dist/core/skills.js.map +1 -1
  664. package/dist/core/verification-evidence.js +7 -2
  665. package/dist/core/verification-evidence.js.map +1 -1
  666. package/dist/motion-agent/motion-agent.d.ts +35 -0
  667. package/dist/motion-agent/motion-agent.js +117 -0
  668. package/dist/motion-agent/motion-agent.js.map +1 -0
  669. package/dist/motion-agent/motion-check-tool.d.ts +21 -0
  670. package/dist/motion-agent/motion-check-tool.js +206 -0
  671. package/dist/motion-agent/motion-check-tool.js.map +1 -0
  672. package/dist/motion-agent/motion-prompt.d.ts +2 -0
  673. package/dist/motion-agent/motion-prompt.js +48 -0
  674. package/dist/motion-agent/motion-prompt.js.map +1 -0
  675. package/dist/motion-agent/motion-review-coverage.d.ts +12 -0
  676. package/dist/motion-agent/motion-review-coverage.js +33 -0
  677. package/dist/motion-agent/motion-review-coverage.js.map +1 -0
  678. package/dist/motion-agent/motion-review-gate.d.ts +48 -0
  679. package/dist/motion-agent/motion-review-gate.js +88 -0
  680. package/dist/motion-agent/motion-review-gate.js.map +1 -0
  681. package/dist/motion-agent/motion-review-session.d.ts +65 -0
  682. package/dist/motion-agent/motion-review-session.js +418 -0
  683. package/dist/motion-agent/motion-review-session.js.map +1 -0
  684. package/dist/motion-agent/motion-review.d.ts +76 -0
  685. package/dist/motion-agent/motion-review.js +225 -0
  686. package/dist/motion-agent/motion-review.js.map +1 -0
  687. package/dist/motion-agent/motion-studio-context.d.ts +44 -0
  688. package/dist/motion-agent/motion-studio-context.js +65 -0
  689. package/dist/motion-agent/motion-studio-context.js.map +1 -0
  690. package/dist/system-prompt.d.ts +3 -0
  691. package/dist/system-prompt.js +5 -1
  692. package/dist/system-prompt.js.map +1 -1
  693. package/dist/tools/bash.js +2 -2
  694. package/dist/tools/bash.js.map +1 -1
  695. package/dist/tools/web-fetch.js +38 -32
  696. package/dist/tools/web-fetch.js.map +1 -1
  697. package/dist/tools/web-search.js +2 -2
  698. package/dist/tools/web-search.js.map +1 -1
  699. package/dist/ui/components/Footer.js +1 -2
  700. package/dist/ui/components/Footer.js.map +1 -1
  701. package/package.json +7 -4
@@ -0,0 +1,82 @@
1
+ # Acid Poster
2
+
3
+ A fly-posted gig poster that won't sit still. Two colors only — acid lime
4
+ and black — and one typeface, **Anybody**, pushed to both ends of its width
5
+ axis: 150% wide slabs against 50% condensed columns. Type runs edge to edge,
6
+ black bands carry running tickers, and every beat lands with a hard
7
+ inverting cut. Loud on purpose; precise underneath.
8
+
9
+ ## Palette
10
+
11
+ - `--field` #d4ff00 acid lime, `--ink` #0a0a0a (17:1). `--accent` equals
12
+ ink: emphasis is made with size, width and inversion, never a third color.
13
+ - `--field-2` #0a0a0a: the inverted frame (lime type on black). Cut to it on
14
+ a beat for 2–12 frames, or hold a whole scene inverted.
15
+ - `--line` is 90% ink: rules here are 8px thick, never hairlines. `--muted`
16
+ is rarely used; this look doesn't whisper.
17
+ - Swap pair per brand only if both stay extreme: hot pink #ff2e88 / black,
18
+ safety orange #ff5a00 / black. Never pastel, never gradients.
19
+
20
+ ## Type
21
+
22
+ - Wide slab: Anybody 900, `font-stretch: 150%`, tracking −0.04em,
23
+ line-height 0.78, 280–340px, one word per line, sized so the word spans
24
+ the full width inside a 40px margin.
25
+ - Condensed column: Anybody 900, `font-stretch: 50%`, tracking 0 (never
26
+ negative at 50%: counters close up), 360–440px.
27
+ - Pair the two in one frame: that width contrast is the look.
28
+ - Info type: Anybody 800 at 100%, 36–48px, uppercase for credits and URLs,
29
+ sentence case for the one sentence of copy.
30
+ - Tickers: Anybody 900 at 62%, 72–80px, uppercase, separated by ✱.
31
+ - Martian Mono is not used in frame. No lowercase display words.
32
+
33
+ ## Background and framing
34
+
35
+ - Flat lime. No texture, no light, no shadows, no rounded corners.
36
+ - Two 104px black bands (top and bottom) with tickers moving in opposite
37
+ directions, linear, the whole scene long.
38
+ - A full-width 8px rule with a three-part credit line (left / center /
39
+ right) sits above the bottom band.
40
+ - Information goes in solid black blocks (lime type inside), flush to the
41
+ right margin, top-aligned to a display line.
42
+ - Arrows are thick (stroke ~14% of their box), square-capped, pointing down
43
+ and right.
44
+
45
+ ## Motion
46
+
47
+ - Fast and on the beat (plan 120 bpm = 0.5s beats). Words slam in with
48
+ `expo.out` 0.4–0.5s from far off-frame (x ±1400 or xPercent −40).
49
+ - Width morph: the wide word opens from 50% to 150% width with
50
+ `expo.inOut` 0.9s (tween a proxy, write `style.fontStretch` in
51
+ `onUpdate`).
52
+ - Info blocks rise from below their own box (`yPercent` 110 → 0) `expo.out`
53
+ 0.45s. Rules wipe via `clip-path` inset, `expo.inOut` 0.5s.
54
+ - Punch: on a downbeat, one frame of `--field-2` (flash overlay at opacity 1
55
+ for 0.01s → 0), and the hero word re-lands from scale 1.08 with
56
+ `expo.out` 0.5s. Arrows pop with `back.out(2.5)` 0.35s.
57
+ - Tickers never stop; everything else holds still between beats. Holds are
58
+ short (0.8–1.5s). Scenes change by hard cut or full inversion, never a
59
+ fade.
60
+
61
+ ## Avoid
62
+
63
+ - A third color, gradients, glow, grain, drop shadows.
64
+ - Soft eases (`sine`, `power1`), fades, slow reveals.
65
+ - Negative tracking on condensed widths; words clipped by the frame edge
66
+ (bleed is fine for a ticker, not for the hero word).
67
+ - Pill buttons, rounded stickers, emoji.
68
+ - Small type floating in empty lime: every element is anchored to a margin,
69
+ a rule or a band.
70
+
71
+ ## Scene recipes
72
+
73
+ 1. **Drop poster:** tickers top and bottom, wide word full-width, condensed
74
+ line under it, black date block right, credit rule; the wide word morphs
75
+ 50 → 150% on the first beat, second line slams from the right on the
76
+ second.
77
+ 2. **Countdown:** inverted field. A single condensed 50% number at 900px
78
+ fills the height; each beat hard-cuts to the next number (3, 2, 1) with a
79
+ one-frame lime flash between them.
80
+ 3. **Word stack:** four wide 150% words stacked edge to edge (≈210px each),
81
+ each line entering from alternating sides on successive beats with
82
+ `expo.out` 0.4s; the last line inverts (lime on a black bar).
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "acid-poster",
3
+ "name": "Acid Poster",
4
+ "description": "A fly-posted gig poster that won't sit still: acid lime and black only, Anybody slammed between 50% and 150% width, type set edge to edge, black bands with running tickers and hard inverting cuts on every beat. Loud, brutal, fast.",
5
+ "tags": ["bold", "kinetic-type", "poster", "brutalist", "lime", "two-color", "hype", "variable-font"],
6
+ "fonts": ["Anybody", "Martian Mono"],
7
+ "bestFor": ["hype teasers", "drops and launches", "music and events", "countdowns", "social cutdowns", "sports"],
8
+ "pieces": [],
9
+ "samplePieces": [],
10
+ "previewAt": 2.4
11
+ }
@@ -0,0 +1,177 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="stylesheet" href="assets/fonts/fonts.css" />
6
+ <link rel="stylesheet" href="assets/looks/acid-poster.css" />
7
+ <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
8
+ <style>
9
+ html,
10
+ body {
11
+ margin: 0;
12
+ width: 1920px;
13
+ height: 1080px;
14
+ overflow: hidden;
15
+ }
16
+ #root {
17
+ position: relative;
18
+ width: 1920px;
19
+ height: 1080px;
20
+ background: var(--field);
21
+ overflow: hidden;
22
+ font-family: var(--display);
23
+ color: var(--ink);
24
+ }
25
+ .band {
26
+ position: absolute;
27
+ left: 0;
28
+ width: 1920px;
29
+ height: 104px;
30
+ background: var(--ink);
31
+ color: var(--field);
32
+ overflow: hidden;
33
+ white-space: nowrap;
34
+ }
35
+ .band span {
36
+ display: inline-block;
37
+ font-weight: 900;
38
+ font-stretch: 62%;
39
+ font-size: 76px;
40
+ line-height: 104px;
41
+ letter-spacing: -0.01em;
42
+ }
43
+ .word {
44
+ position: absolute;
45
+ left: 40px;
46
+ white-space: nowrap;
47
+ font-weight: var(--display-weight);
48
+ letter-spacing: var(--display-tracking);
49
+ line-height: 0.78;
50
+ }
51
+ #w1 {
52
+ top: 150px;
53
+ font-size: 300px;
54
+ font-stretch: var(--display-stretch);
55
+ }
56
+ #w2 {
57
+ top: 424px;
58
+ font-size: 400px;
59
+ font-stretch: 50%;
60
+ letter-spacing: 0;
61
+ }
62
+ .block {
63
+ position: absolute;
64
+ right: 40px;
65
+ top: 424px;
66
+ width: 540px;
67
+ height: 268px;
68
+ background: var(--ink);
69
+ color: var(--field);
70
+ box-sizing: border-box;
71
+ padding: 30px 36px;
72
+ }
73
+ .block .d {
74
+ font-weight: 900;
75
+ font-stretch: 125%;
76
+ font-size: 104px;
77
+ line-height: 0.9;
78
+ letter-spacing: -0.045em;
79
+ }
80
+ .block .t {
81
+ margin-top: 22px;
82
+ font-weight: 700;
83
+ font-stretch: 100%;
84
+ font-size: 44px;
85
+ line-height: 1.05;
86
+ letter-spacing: -0.01em;
87
+ }
88
+ .arrow {
89
+ position: absolute;
90
+ right: 32px;
91
+ bottom: 32px;
92
+ width: 96px;
93
+ height: 96px;
94
+ }
95
+ .foot {
96
+ position: absolute;
97
+ left: 40px;
98
+ right: 40px;
99
+ top: 836px;
100
+ border-top: 8px solid var(--ink);
101
+ padding-top: 18px;
102
+ display: flex;
103
+ justify-content: space-between;
104
+ font-weight: 800;
105
+ font-stretch: 100%;
106
+ font-size: 40px;
107
+ letter-spacing: -0.01em;
108
+ }
109
+ .flash {
110
+ position: absolute;
111
+ inset: 0;
112
+ background: var(--ink);
113
+ opacity: 0;
114
+ }
115
+ </style>
116
+ </head>
117
+ <body>
118
+ <div
119
+ id="root"
120
+ class="look-acid-poster"
121
+ data-composition-id="main"
122
+ data-start="0"
123
+ data-duration="4"
124
+ data-width="1920"
125
+ data-height="1080"
126
+ >
127
+ <!-- edit: ticker text -->
128
+ <div class="band" id="band1" style="top: 0" data-layout-allow-overflow><div id="tick1"></div></div>
129
+ <!-- edit: two poster words -->
130
+ <div class="word" id="w1">LOUDER</div>
131
+ <div class="word" id="w2">THAN EVER</div>
132
+ <!-- edit: date block -->
133
+ <div class="block" id="block">
134
+ <svg class="arrow" id="arrow" viewBox="0 0 100 100"><path d="M12 12 L84 84 M84 28 L84 84 L28 84" fill="none" stroke="var(--field)" stroke-width="14" stroke-linecap="square" /></svg>
135
+ <div class="d">10.31</div>
136
+ <div class="t">Out Friday,<br />everywhere.</div>
137
+ </div>
138
+ <div class="foot" id="foot"><span>RELAY SOUND SYSTEM</span><span>VOL. 2</span><span>RELAYSOUND.FM</span></div>
139
+ <div class="band" id="band2" style="top: 976px" data-layout-allow-overflow><div id="tick2"></div></div>
140
+ <div class="flash" id="flash"></div>
141
+ </div>
142
+ <script>
143
+ // Ticker: repeated phrase, moved by the timeline (never a CSS loop).
144
+ const phrase = "NEW DROP ✱ VOLUME TWO ✱ ";
145
+ document.getElementById("tick1").innerHTML = ("<span>" + phrase + "</span>").repeat(8);
146
+ document.getElementById("tick2").innerHTML = ("<span>" + "OUT FRIDAY ✱ 10.31 ✱ " + "</span>").repeat(10);
147
+
148
+ const tl = gsap.timeline({ paused: true });
149
+ const w1 = document.getElementById("w1");
150
+ const wd = { s: 50 };
151
+
152
+ tl.fromTo("#tick1", { x: 0 }, { x: -900, duration: 4, ease: "none" }, 0)
153
+ .fromTo("#tick2", { x: -1400 }, { x: -500, duration: 4, ease: "none" }, 0)
154
+ // Beat 1: black frame, cut to lime with the first word already moving.
155
+ .set("#flash", { opacity: 1 }, 0)
156
+ .set("#flash", { opacity: 0 }, 0.12)
157
+ .from("#w1", { x: -36, clipPath: "inset(0 100% 0 0)", duration: 0.5, ease: "expo.out" }, 0.12)
158
+ .fromTo(
159
+ wd,
160
+ { s: 50 },
161
+ { s: 150, duration: 0.9, ease: "expo.inOut", onUpdate: () => (w1.style.fontStretch = wd.s + "%") },
162
+ 0.12,
163
+ )
164
+ // Beat 2: a right-led mask reveals the second word inside the safe area.
165
+ .from("#w2", { x: 80, clipPath: "inset(0 0 0 100%)", duration: 0.45, ease: "expo.out" }, 0.62)
166
+ .from("#block", { yPercent: 110, duration: 0.45, ease: "expo.out" }, 0.95)
167
+ .from("#arrow", { scale: 0, transformOrigin: "0% 0%", duration: 0.35, ease: "back.out(2.5)" }, 1.15)
168
+ .from("#foot", { clipPath: "inset(0 100% 0 0)", duration: 0.5, ease: "expo.inOut" }, 1.1)
169
+ // Beat 3: an inverting punch on the word.
170
+ .set("#flash", { opacity: 1 }, 1.9)
171
+ .set("#flash", { opacity: 0 }, 1.94)
172
+ .from("#w1", { scale: 1.04, immediateRender: false, transformOrigin: "0% 50%", duration: 0.5, ease: "expo.out" }, 1.92)
173
+ .to({}, { duration: 0.1 }, 3.9);
174
+ window.__timelines = { main: tl };
175
+ </script>
176
+ </body>
177
+ </html>
@@ -0,0 +1,16 @@
1
+ /* Acid Poster: acid lime and black, Anybody pushed to its extreme widths. */
2
+ .look-acid-poster {
3
+ --field: #d4ff00;
4
+ --field-2: #0a0a0a;
5
+ --ink: #0a0a0a;
6
+ --accent: #0a0a0a;
7
+ --muted: rgba(10, 10, 10, 0.66);
8
+ --line: rgba(10, 10, 10, 0.9);
9
+ --display: "Anybody", sans-serif;
10
+ --display-weight: 900;
11
+ --display-stretch: 150%;
12
+ --display-tracking: -0.04em;
13
+ --text: "Anybody", sans-serif;
14
+ --mono: "Martian Mono", monospace;
15
+ --radius: 0px;
16
+ }
@@ -0,0 +1,22 @@
1
+ # Blueprint
2
+
3
+ A technical drawing, not a sci-fi dashboard. Use this look to explain a mechanism, relationship or measured change.
4
+
5
+ ## System
6
+
7
+ - Deep cobalt field, pale drafting lines and white ink. Yellow marks the one measurement being explained, never every node.
8
+ - Wide Hubot Sans headlines; Martian Mono only for dimensions, units and title-block details.
9
+ - Keep a 96px safe area. Align annotations to drawing geometry and leave the left third available for the explanation.
10
+ - Grid lines stay subordinate to the object. Leader lines terminate at actual features, not decorative points.
11
+
12
+ ## Motion
13
+
14
+ Draw the object first in 0.6–1.2s with `power2.inOut`, then add dimensions in reading order. Hold the completed diagram for at least 2s. Use a clean cut or a line-led wipe between mechanisms. Never animate measurements independently of the thing being measured.
15
+
16
+ ## Scene recipes
17
+
18
+ 1. **Mechanism:** headline left, large line drawing right, one highlighted ratio below the copy. The sample explains a 2:1 gear reduction.
19
+ 2. **System flow:** `blueprint-grid` behind `flow-nodes`; reveal each connection only after its source exists.
20
+ 3. **Layer breakdown:** `stack-layers` with numbered annotations, then a `chapter-card` to introduce the next subsystem.
21
+
22
+ Avoid glows, tiny fake telemetry, unreadable formula wallpaper, gratuitous labels and more than one signal color. Replace all sample measurements with verified values for the subject.
@@ -0,0 +1,11 @@
1
+ {
2
+ "id": "blueprint",
3
+ "name": "Blueprint",
4
+ "description": "An engineering drawing that builds itself: a deep cobalt field with a faint drafting grid, white line drawings that draw on stroke by stroke, dimension lines and leader callouts, a title block in the corner. Wide Hubot Sans headlines, Martian Mono for the annotation only. One signal yellow marks the single measurement that matters.",
5
+ "tags": ["blueprint", "technical", "line-drawing", "engineering", "cobalt", "diagram", "explainer", "annotation"],
6
+ "fonts": ["Hubot Sans", "Martian Mono"],
7
+ "bestFor": ["engineering explainers", "hardware and product teardowns", "how-it-works videos", "infrastructure diagrams", "patents and R&D stories"],
8
+ "pieces": ["blueprint-grid", "flow-nodes", "stack-layers", "chapter-card"],
9
+ "samplePieces": [],
10
+ "previewAt": 3.2
11
+ }
@@ -0,0 +1,301 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="stylesheet" href="assets/fonts/fonts.css" />
6
+ <link rel="stylesheet" href="assets/looks/blueprint.css" />
7
+ <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
8
+ <style>
9
+ html,
10
+ body {
11
+ margin: 0;
12
+ width: 1920px;
13
+ height: 1080px;
14
+ overflow: hidden;
15
+ }
16
+ #root {
17
+ position: relative;
18
+ width: 1920px;
19
+ height: 1080px;
20
+ background: var(--field);
21
+ overflow: hidden;
22
+ font-family: var(--text);
23
+ color: var(--ink);
24
+ }
25
+ /* Drafting grid: 24px minor, 120px major, plus a soft lamp falloff. */
26
+ .grid {
27
+ position: absolute;
28
+ inset: 0;
29
+ background:
30
+ linear-gradient(90deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px) 0 0 / 120px 120px,
31
+ linear-gradient(180deg, rgba(255, 255, 255, 0.11) 1px, transparent 1px) 0 0 / 120px 120px,
32
+ linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 24px 24px,
33
+ linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) 0 0 / 24px 24px;
34
+ }
35
+ .lamp {
36
+ position: absolute;
37
+ inset: 0;
38
+ background:
39
+ radial-gradient(ellipse 1200px 800px at 62% 44%, rgba(120, 170, 255, 0.16), transparent 70%),
40
+ radial-gradient(ellipse 1500px 1000px at 50% 50%, transparent 55%, rgba(6, 20, 70, 0.45) 100%);
41
+ }
42
+ .sheet {
43
+ position: absolute;
44
+ left: 48px;
45
+ top: 48px;
46
+ width: 1820px;
47
+ height: 980px;
48
+ border: 2px solid rgba(255, 255, 255, 0.55);
49
+ box-sizing: border-box;
50
+ }
51
+ .headline {
52
+ position: absolute;
53
+ left: 144px;
54
+ top: 150px;
55
+ margin: 0;
56
+ font-family: var(--display);
57
+ font-weight: var(--display-weight);
58
+ font-stretch: var(--display-stretch);
59
+ letter-spacing: var(--display-tracking);
60
+ font-size: 96px;
61
+ line-height: 1.04;
62
+ }
63
+ .headline span {
64
+ display: block;
65
+ clip-path: inset(0 100% 0 0);
66
+ }
67
+ .dek {
68
+ position: absolute;
69
+ left: 144px;
70
+ top: 390px;
71
+ width: 560px;
72
+ margin: 0;
73
+ font-size: 30px;
74
+ line-height: 1.4;
75
+ font-weight: 400;
76
+ font-stretch: 104%;
77
+ color: var(--muted);
78
+ }
79
+ .ratio {
80
+ position: absolute;
81
+ left: 144px;
82
+ top: 640px;
83
+ }
84
+ .ratio .k {
85
+ font-family: var(--mono);
86
+ font-size: 18px;
87
+ letter-spacing: 0.04em;
88
+ color: var(--muted);
89
+ }
90
+ .ratio .v {
91
+ margin-top: 60px;
92
+ font-family: var(--display);
93
+ font-weight: 600;
94
+ font-stretch: 125%;
95
+ font-size: 150px;
96
+ line-height: 1.1;
97
+ letter-spacing: -0.03em;
98
+ color: var(--accent);
99
+ }
100
+ svg.draw {
101
+ position: absolute;
102
+ left: 0;
103
+ top: 0;
104
+ }
105
+ .note {
106
+ font-family: var(--mono);
107
+ font-size: 17px;
108
+ letter-spacing: 0.02em;
109
+ fill: var(--ink);
110
+ }
111
+ .note.dim {
112
+ fill: var(--accent);
113
+ font-size: 19px;
114
+ }
115
+ /* Title block: the drawing's metadata, bottom-right, as on a real sheet. */
116
+ .block {
117
+ position: absolute;
118
+ left: 1420px;
119
+ top: 874px;
120
+ width: 400px;
121
+ display: grid;
122
+ grid-template-columns: 1fr 1fr;
123
+ border: 2px solid rgba(255, 255, 255, 0.55);
124
+ border-bottom: none;
125
+ border-right: none;
126
+ font-family: var(--mono);
127
+ font-size: 15px;
128
+ color: var(--muted);
129
+ }
130
+ .block div {
131
+ padding: 12px 16px 14px;
132
+ border-right: 1px solid rgba(255, 255, 255, 0.4);
133
+ border-bottom: 1px solid rgba(255, 255, 255, 0.4);
134
+ line-height: 1.5;
135
+ }
136
+ .block div:nth-child(2n) {
137
+ border-right: none;
138
+ }
139
+ .block .title {
140
+ grid-column: 1 / 3;
141
+ font-family: var(--display);
142
+ font-size: 26px;
143
+ font-weight: 640;
144
+ font-stretch: 112%;
145
+ color: var(--ink);
146
+ letter-spacing: -0.01em;
147
+ }
148
+ </style>
149
+ </head>
150
+ <body>
151
+ <div
152
+ id="root"
153
+ class="look-blueprint"
154
+ data-composition-id="main"
155
+ data-start="0"
156
+ data-duration="4"
157
+ data-width="1920"
158
+ data-height="1080"
159
+ >
160
+ <div class="grid" id="grid"></div>
161
+ <div class="lamp"></div>
162
+ <div class="sheet" id="sheet"></div>
163
+
164
+ <!-- edit: headline (one line per span) -->
165
+ <h1 class="headline"><span>Torque, traded</span><span>for speed.</span></h1>
166
+ <!-- edit: dek -->
167
+ <p class="dek" id="dek">A small gear driving one twice its size turns half as fast, and pushes twice as hard.</p>
168
+ <div class="ratio" id="ratio">
169
+ <!-- edit: key figure label and value -->
170
+ <div class="k">Reduction ratio</div>
171
+ <div class="v">2 : 1</div>
172
+ </div>
173
+
174
+ <svg class="draw" width="1920" height="1080" viewBox="0 0 1920 1080">
175
+ <g fill="none" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round">
176
+ <!-- centre lines (dash-dot), drawn first -->
177
+ <g id="centres" stroke="rgba(255,255,255,0.5)" stroke-width="1.5" stroke-dasharray="28 6 4 6">
178
+ <line x1="850" y1="560" x2="1680" y2="560" />
179
+ <line x1="1060" y1="400" x2="1060" y2="720" />
180
+ <line x1="1396" y1="290" x2="1396" y2="830" />
181
+ </g>
182
+ <!-- pitch circles, dashed -->
183
+ <g id="pitch" stroke="rgba(255,255,255,0.42)" stroke-width="1.5" stroke-dasharray="10 8">
184
+ <circle cx="1060" cy="560" r="112" />
185
+ <circle cx="1396" cy="560" r="224" />
186
+ </g>
187
+ <g id="driver" stroke-width="3"></g>
188
+ <g id="driven" stroke-width="3"></g>
189
+ <!-- dimension: centre distance -->
190
+ <g id="dimA" stroke-width="1.5">
191
+ <line x1="1060" y1="740" x2="1060" y2="890" />
192
+ <line x1="1396" y1="810" x2="1396" y2="890" />
193
+ <line x1="1060" y1="870" x2="1396" y2="870" />
194
+ <path d="M1060 870 l18 -6 v12 z M1396 870 l-18 -6 v12 z" fill="#ffffff" />
195
+ </g>
196
+ <!-- leader: driver -->
197
+ <g id="leadA" stroke-width="1.5">
198
+ <path d="M1003 470 L930 330 H840" />
199
+ <circle cx="1003" cy="470" r="5" fill="#ffffff" />
200
+ </g>
201
+ <!-- leader: driven -->
202
+ <g id="leadB" stroke-width="1.5">
203
+ <path d="M1552 400 L1640 300 H1740" />
204
+ <circle cx="1552" cy="400" r="5" fill="#ffffff" />
205
+ </g>
206
+ <!-- contact point, the one yellow mark -->
207
+ <g id="contact" stroke="#ffd84a" stroke-width="2.5">
208
+ <circle cx="1172" cy="560" r="16" />
209
+ <line x1="1172" y1="520" x2="1172" y2="600" />
210
+ </g>
211
+ </g>
212
+ <!-- edit: annotations -->
213
+ <text class="note" id="tA" x="840" y="318">DRIVER · z = 16</text>
214
+ <text class="note" id="tB" x="1640" y="288">DRIVEN · z = 32</text>
215
+ <text class="note dim" id="tD" x="1228" y="858" text-anchor="middle">a = 336</text>
216
+ </svg>
217
+
218
+ <div class="block" id="block">
219
+ <!-- edit: title block -->
220
+ <div class="title">Spur gear reduction</div>
221
+ <div>Module 14</div>
222
+ <div>Scale 1 : 2</div>
223
+ <div>Sheet 2 of 6</div>
224
+ <div>Rev C</div>
225
+ </div>
226
+ </div>
227
+ <script>
228
+ // Build involute-ish spur gears as polygons (deterministic geometry).
229
+ const NS = "http://www.w3.org/2000/svg";
230
+ function gear(cx, cy, z, m, holes) {
231
+ const r = (m * z) / 2;
232
+ const tip = r + m;
233
+ const root = r - 1.25 * m;
234
+ const p = (Math.PI * 2) / z;
235
+ const pts = [];
236
+ for (let i = 0; i < z; i++) {
237
+ const a = i * p;
238
+ const at = (rad, ang) => [cx + rad * Math.cos(ang), cy + rad * Math.sin(ang)];
239
+ pts.push(at(root, a - 0.5 * p), at(root, a - 0.28 * p), at(tip, a - 0.14 * p), at(tip, a + 0.14 * p), at(root, a + 0.28 * p));
240
+ }
241
+ const d = "M" + pts.map((q) => q[0].toFixed(1) + " " + q[1].toFixed(1)).join(" L") + " Z";
242
+ const parts = [d];
243
+ const hub = r * 0.34;
244
+ parts.push(`M${cx + hub} ${cy} A${hub} ${hub} 0 1 0 ${cx - hub} ${cy} A${hub} ${hub} 0 1 0 ${cx + hub} ${cy}`);
245
+ const bore = r * 0.14;
246
+ parts.push(
247
+ `M${cx - bore} ${cy} A${bore} ${bore} 0 1 0 ${cx + bore} ${cy} L${cx + bore} ${cy - bore * 0.6} L${cx + bore * 0.55} ${cy - bore * 0.6} L${cx + bore * 0.55} ${cy - bore * 0.86} A${bore} ${bore} 0 0 0 ${cx - bore} ${cy} Z`,
248
+ );
249
+ for (let h = 0; h < holes; h++) {
250
+ const a = (h / holes) * Math.PI * 2 + Math.PI / holes;
251
+ const hr = r * 0.13;
252
+ const hx = cx + r * 0.62 * Math.cos(a);
253
+ const hy = cy + r * 0.62 * Math.sin(a);
254
+ parts.push(`M${hx + hr} ${hy} A${hr} ${hr} 0 1 0 ${hx - hr} ${hy} A${hr} ${hr} 0 1 0 ${hx + hr} ${hy}`);
255
+ }
256
+ return parts.map((dd) => {
257
+ const el = document.createElementNS(NS, "path");
258
+ el.setAttribute("d", dd);
259
+ return el;
260
+ });
261
+ }
262
+ const driver = document.getElementById("driver");
263
+ const driven = document.getElementById("driven");
264
+ gear(1060, 560, 16, 14, 0).forEach((el) => driver.appendChild(el));
265
+ gear(1396, 560, 32, 14, 6).forEach((el) => driven.appendChild(el));
266
+ // Half-pitch phase so the teeth mesh at the contact point.
267
+ gsap.set(driven, { rotation: 180 / 32, svgOrigin: "1396 560" });
268
+ gsap.set(driver, { svgOrigin: "1060 560" });
269
+
270
+ const strokes = gsap.utils.toArray("#centres line, #pitch circle, #driver path, #driven path, #dimA line, #leadA path, #leadB path");
271
+ strokes.forEach((el) => {
272
+ const len = el.getTotalLength();
273
+ gsap.set(el, { strokeDasharray: len, strokeDashoffset: len });
274
+ });
275
+ // Dash-dot and dashed strokes: reveal with a clip instead of dash offset.
276
+ gsap.set("#centres line, #pitch circle", { clearProps: "strokeDasharray,strokeDashoffset" });
277
+
278
+ const tl = gsap.timeline({ paused: true });
279
+ tl.from("#grid", { opacity: 0, duration: 0.8, ease: "power1.inOut" }, 0)
280
+ .from("#sheet", { opacity: 0, scale: 1.015, duration: 0.8, ease: "power2.out" }, 0)
281
+ .from("#centres line", { opacity: 0, duration: 0.4, stagger: 0.08, ease: "none" }, 0.2)
282
+ .from("#pitch circle", { opacity: 0, duration: 0.5, stagger: 0.1, ease: "none" }, 0.4)
283
+ .to(".headline span", { clipPath: "inset(0 0% 0 0)", duration: 0.9, ease: "power3.inOut", stagger: 0.14 }, 0.25)
284
+ .from("#dek", { opacity: 0, y: 16, duration: 0.7, ease: "power2.out" }, 0.8)
285
+ .to("#driver path", { strokeDashoffset: 0, duration: 1.1, ease: "power1.inOut", stagger: 0.06 }, 0.5)
286
+ .to("#driven path", { strokeDashoffset: 0, duration: 1.4, ease: "power1.inOut", stagger: 0.05 }, 0.6)
287
+ .to("#dimA line, #leadA path, #leadB path", { strokeDashoffset: 0, duration: 0.5, ease: "power2.inOut", stagger: 0.08 }, 1.8)
288
+ .from("#dimA path, #leadA circle, #leadB circle", { opacity: 0, duration: 0.2, stagger: 0.08 }, 2.1)
289
+ .from("#tA, #tB", { opacity: 0, duration: 0.3, stagger: 0.1, ease: "none" }, 2.2)
290
+ .from("#contact", { opacity: 0, scale: 0.4, svgOrigin: "1172 560", duration: 0.5, ease: "back.out(2)" }, 2.3)
291
+ .from("#tD", { opacity: 0, duration: 0.3, ease: "none" }, 2.4)
292
+ .from("#ratio", { opacity: 0, y: 20, duration: 0.7, ease: "power3.out" }, 2.3)
293
+ .from("#block", { opacity: 0, duration: 0.5, ease: "none" }, 2.0)
294
+ // Once drawn, the pair turns: driver a full 60°, driven half that, the other way.
295
+ .to(driver, { rotation: 60, duration: 2.2, ease: "power1.inOut" }, 1.8)
296
+ .to(driven, { rotation: 180 / 32 - 30, duration: 2.2, ease: "power1.inOut" }, 1.8)
297
+ .to({}, { duration: 0.1 }, 3.9);
298
+ window.__timelines = { main: tl };
299
+ </script>
300
+ </body>
301
+ </html>
@@ -0,0 +1,16 @@
1
+ /* Blueprint: cobalt drafting field, white line drawings, one signal yellow for the key dimension. */
2
+ .look-blueprint {
3
+ --field: #1d49b5;
4
+ --field-2: #102f7e;
5
+ --ink: #ffffff;
6
+ --accent: #ffd84a;
7
+ --muted: rgba(255, 255, 255, 0.78);
8
+ --line: rgba(255, 255, 255, 0.16);
9
+ --display: "Hubot Sans", sans-serif;
10
+ --display-weight: 700;
11
+ --display-stretch: 116%;
12
+ --display-tracking: -0.025em;
13
+ --text: "Hubot Sans", sans-serif;
14
+ --mono: "Martian Mono", monospace;
15
+ --radius: 0px;
16
+ }