@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,98 @@
1
+ <!doctype html>
2
+ <!--
3
+ line-stack-reveal: a 2–4 line headline, each line rising out of its own
4
+ overflow-hidden mask (expo.out, 0.08s stagger), with a small mono eyebrow.
5
+ Add a line by adding another .lsr-mask; add class "lsr-accent" to a line
6
+ to color it --accent. Transparent background.
7
+ Params: --lsr-size (font size), --lsr-x / --lsr-y (top-left of the block),
8
+ STAGGER, RISE (seconds per line), START.
9
+ -->
10
+ <html lang="en">
11
+ <head>
12
+ <meta charset="UTF-8" />
13
+ <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
14
+ </head>
15
+ <body>
16
+ <div
17
+ id="line-stack-reveal-root"
18
+ data-composition-id="line-stack-reveal"
19
+ data-start="0"
20
+ data-duration="3"
21
+ data-width="1920"
22
+ data-height="1080"
23
+ >
24
+ <style>
25
+ [data-composition-id="line-stack-reveal"] {
26
+ --lsr-size: 176px;
27
+ --lsr-x: 150px;
28
+ --lsr-y: 250px;
29
+ position: absolute;
30
+ inset: 0;
31
+ color: var(--ink, #111);
32
+ }
33
+ [data-composition-id="line-stack-reveal"] .lsr-block {
34
+ position: absolute;
35
+ left: var(--lsr-x);
36
+ top: var(--lsr-y);
37
+ }
38
+ [data-composition-id="line-stack-reveal"] .lsr-eyebrow {
39
+ font-family: var(--mono, monospace);
40
+ font-size: 24px;
41
+ letter-spacing: 0.14em;
42
+ text-transform: uppercase;
43
+ color: var(--muted, rgba(0, 0, 0, 0.6));
44
+ margin: 0 0 40px 0.12em;
45
+ overflow: hidden;
46
+ }
47
+ [data-composition-id="line-stack-reveal"] .lsr-eyebrow span {
48
+ display: inline-block;
49
+ }
50
+ [data-composition-id="line-stack-reveal"] .lsr-mask {
51
+ overflow: hidden;
52
+ line-height: 0.98;
53
+ padding: 0.02em 0 0.06em;
54
+ margin-bottom: -0.06em;
55
+ }
56
+ [data-composition-id="line-stack-reveal"] .lsr-line {
57
+ display: inline-block;
58
+ font-family: var(--display, sans-serif);
59
+ font-weight: var(--display-weight, 800);
60
+ font-stretch: var(--display-stretch, 100%);
61
+ letter-spacing: var(--display-tracking, -0.03em);
62
+ font-size: var(--lsr-size);
63
+ white-space: nowrap;
64
+ }
65
+ [data-composition-id="line-stack-reveal"] .lsr-accent {
66
+ color: var(--accent, currentColor);
67
+ }
68
+ </style>
69
+ <div class="lsr-block">
70
+ <!-- edit: eyebrow label (delete the div to drop it) -->
71
+ <div class="lsr-eyebrow"><span>Chapter 02 — Craft</span></div>
72
+ <!-- edit: headline lines, one per .lsr-mask (2–4 lines) -->
73
+ <div class="lsr-mask"><span class="lsr-line">Every frame</span></div>
74
+ <div class="lsr-mask"><span class="lsr-line">is a decision.</span></div>
75
+ <div class="lsr-mask"><span class="lsr-line lsr-accent">Make it count.</span></div>
76
+ </div>
77
+ </div>
78
+ <script>
79
+ (function () {
80
+ const START = 0.2;
81
+ const STAGGER = 0.08;
82
+ const RISE = 1.1;
83
+ const root = '[data-composition-id="line-stack-reveal"] ';
84
+ const tl = gsap.timeline({ paused: true });
85
+ tl.fromTo(root + ".lsr-eyebrow span", { yPercent: 110 }, { yPercent: 0, duration: 0.8, ease: "expo.out" }, START);
86
+ tl.fromTo(
87
+ root + ".lsr-line",
88
+ { yPercent: 112 },
89
+ { yPercent: 0, duration: RISE, ease: "expo.out", stagger: STAGGER },
90
+ START + 0.12,
91
+ );
92
+ tl.to({}, { duration: 3 - tl.duration() });
93
+ window.__timelines = window.__timelines || {};
94
+ window.__timelines["line-stack-reveal"] = tl;
95
+ })();
96
+ </script>
97
+ </body>
98
+ </html>
@@ -0,0 +1,6 @@
1
+ {
2
+ "id": "lower-third", "name": "Lower third", "kind": "frame",
3
+ "description": "A left-aligned speaker caption with a ruled edge and a masked entrance and exit.",
4
+ "tags": ["speaker", "caption", "interview"], "fonts": [], "duration": 5,
5
+ "previewAt": 1.5, "license": "original", "previewLook": "duotone-broadcast"
6
+ }
@@ -0,0 +1,11 @@
1
+ <!doctype html>
2
+ <!-- Lower third. Edit name and role in markup. Safe inset 96px; exit begins at 4.2s. -->
3
+ <html lang="en"><head><meta charset="UTF-8"><script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script></head><body>
4
+ <div id="lower-third-root" data-composition-id="lower-third" data-start="0" data-duration="5" data-width="1920" data-height="1080">
5
+ <style>
6
+ [data-composition-id="lower-third"]{position:absolute;inset:0;color:var(--ink);font-family:var(--text)}
7
+ [data-composition-id="lower-third"] .caption{position:absolute;left:96px;bottom:96px;padding:30px 42px;border-left:8px solid var(--accent);background:var(--field);color:var(--ink);overflow:hidden}
8
+ [data-composition-id="lower-third"] .name{font-family:var(--display);font-weight:var(--display-weight);font-size:64px;letter-spacing:var(--display-tracking);line-height:1.15;margin:0 0 14px}
9
+ [data-composition-id="lower-third"] .role{font-family:var(--mono);font-size:24px;line-height:1.4;color:var(--muted);margin:0}
10
+ </style><div class="caption"><!-- edit: speaker name and role --><p class="name">Alex Morgan</p><p class="role">Motion designer / Field notes</p></div></div>
11
+ <script>(()=>{const root=document.querySelector('[data-composition-id="lower-third"]');const box=root.querySelector('.caption');const tl=gsap.timeline({paused:true});tl.from(box,{clipPath:'inset(0 100% 0 0)',duration:.55,ease:'power3.out'},0).from(root.querySelectorAll('p'),{y:24,opacity:0,stagger:.12,duration:.45,ease:'power2.out'},.2).to(box,{clipPath:'inset(0 0 0 100%)',duration:.5,ease:'power3.in'},4.2).to({},{duration:.3});window.__timelines=window.__timelines||{};window.__timelines["lower-third"]=tl;})();</script></body></html>
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "marquee-strip",
3
+ "name": "Marquee strip",
4
+ "kind": "type",
5
+ "description": "Two tilted bands of repeated uppercase text scrolling at constant speed in opposite directions: a solid ink band with field-colored type and an outlined band between hairlines. Position is a pure function of time (x = -speed*t mod set width), so it seeks exactly and loops forever. For energy beats, brand lists, feature tags, section breaks. Transparent.",
6
+ "tags": ["marquee", "ticker", "scrolling", "loop", "band", "tape", "banner", "outline", "tags", "energy"],
7
+ "fonts": [],
8
+ "duration": 5,
9
+ "previewAt": 2.5,
10
+ "license": "original",
11
+ "previewLook": "duotone-broadcast"
12
+ }
@@ -0,0 +1,132 @@
1
+ <!doctype html>
2
+ <!--
3
+ marquee-strip: one or two tilted bands of repeated text scrolling at a
4
+ constant speed, the second in the opposite direction. Position is a pure
5
+ function of time: x = -(speed * t) mod setWidth, so any frame seeks
6
+ exactly. Band A is solid --ink with --field type; band B is outlined type
7
+ between hairlines. Delete .ms-band-b for a single strip. Transparent
8
+ background.
9
+ Params: --ms-size (type size), --ms-tilt (band rotation), --ms-ya / --ms-yb
10
+ (band centers); SPEED_A / SPEED_B (px per second, negative reverses),
11
+ COPIES (repeats of the set, enough to cover the frame twice).
12
+ -->
13
+ <html lang="en">
14
+ <head>
15
+ <meta charset="UTF-8" />
16
+ <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
17
+ </head>
18
+ <body>
19
+ <div
20
+ id="marquee-strip-root"
21
+ data-composition-id="marquee-strip"
22
+ data-start="0"
23
+ data-duration="5"
24
+ data-width="1920"
25
+ data-height="1080"
26
+ >
27
+ <style>
28
+ [data-composition-id="marquee-strip"] {
29
+ --ms-size: 112px;
30
+ --ms-tilt: -3deg;
31
+ --ms-ya: 420px;
32
+ --ms-yb: 650px;
33
+ position: absolute;
34
+ inset: 0;
35
+ overflow: hidden;
36
+ color: var(--ink, #111);
37
+ }
38
+ [data-composition-id="marquee-strip"] .ms-band {
39
+ position: absolute;
40
+ left: -240px;
41
+ width: 2400px;
42
+ overflow: hidden;
43
+ transform: translateY(-50%) rotate(var(--ms-tilt));
44
+ font-family: var(--display, sans-serif);
45
+ font-weight: var(--display-weight, 800);
46
+ font-stretch: var(--display-stretch, 100%);
47
+ letter-spacing: var(--display-tracking, -0.02em);
48
+ font-size: var(--ms-size);
49
+ line-height: 1;
50
+ word-spacing: 0.12em;
51
+ text-transform: uppercase;
52
+ white-space: nowrap;
53
+ }
54
+ [data-composition-id="marquee-strip"] .ms-band-a {
55
+ top: var(--ms-ya);
56
+ background: var(--ink, #111);
57
+ color: var(--field, #fff);
58
+ padding: 0.2em 0 0.14em;
59
+ }
60
+ [data-composition-id="marquee-strip"] .ms-band-b {
61
+ top: var(--ms-yb);
62
+ color: var(--field, #fff);
63
+ -webkit-text-stroke: 2px var(--ink, #111);
64
+ border-top: 2px solid var(--line, rgba(0, 0, 0, 0.2));
65
+ border-bottom: 2px solid var(--line, rgba(0, 0, 0, 0.2));
66
+ padding: 0.18em 0 0.12em;
67
+ }
68
+ [data-composition-id="marquee-strip"] .ms-track {
69
+ display: flex;
70
+ width: max-content;
71
+ }
72
+ [data-composition-id="marquee-strip"] .ms-set {
73
+ display: flex;
74
+ align-items: center;
75
+ }
76
+ [data-composition-id="marquee-strip"] .ms-set > span {
77
+ padding: 0 0.32em;
78
+ }
79
+ [data-composition-id="marquee-strip"] .ms-set > i {
80
+ width: 0.2em;
81
+ height: 0.2em;
82
+ border-radius: 50%;
83
+ background: currentColor;
84
+ flex: none;
85
+ }
86
+ [data-composition-id="marquee-strip"] .ms-band-b .ms-set > i {
87
+ background: var(--ink, #111);
88
+ }
89
+ </style>
90
+ <div class="ms-band ms-band-a">
91
+ <div class="ms-track">
92
+ <!-- edit: band A items (one set; separators are the <i> dots) -->
93
+ <div class="ms-set"><span>Launch</span><i></i><span>Design</span><i></i><span>Motion</span><i></i><span>Ship it</span><i></i></div>
94
+ </div>
95
+ </div>
96
+ <div class="ms-band ms-band-b">
97
+ <div class="ms-track">
98
+ <!-- edit: band B items -->
99
+ <div class="ms-set"><span>Frame by frame</span><i></i><span>Made to move</span><i></i></div>
100
+ </div>
101
+ </div>
102
+ </div>
103
+ <script>
104
+ (function () {
105
+ const DURATION = 5;
106
+ const SPEED_A = 220;
107
+ const SPEED_B = -170;
108
+ const COPIES = 6;
109
+ const root = document.querySelector('[data-composition-id="marquee-strip"]');
110
+ const tracks = Array.from(root.querySelectorAll(".ms-track"));
111
+ const speeds = [SPEED_A, SPEED_B];
112
+ tracks.forEach((track) => {
113
+ const set = track.querySelector(".ms-set");
114
+ for (let i = 1; i < COPIES; i++) track.appendChild(set.cloneNode(true));
115
+ });
116
+ const state = { t: 0 };
117
+ function draw() {
118
+ tracks.forEach((track, i) => {
119
+ const w = track.firstElementChild.offsetWidth || 1;
120
+ const d = (((speeds[i] || 0) * state.t) % w + w) % w;
121
+ track.style.transform = `translateX(${(-d).toFixed(2)}px)`;
122
+ });
123
+ }
124
+ const tl = gsap.timeline({ paused: true });
125
+ tl.fromTo(state, { t: 0 }, { t: DURATION, duration: DURATION, ease: "none", onUpdate: draw }, 0);
126
+ draw();
127
+ window.__timelines = window.__timelines || {};
128
+ window.__timelines["marquee-strip"] = tl;
129
+ })();
130
+ </script>
131
+ </body>
132
+ </html>
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "mesh-gradient",
3
+ "name": "Mesh gradient",
4
+ "kind": "background",
5
+ "description": "A slow, restrained mesh gradient in the look's own colors: soft pools of the alternate field and accent drift over the main field with a gentle light lift, finished with fine grain so it never bands. Premium brand, title and outro backdrops.",
6
+ "tags": ["gradient", "mesh", "blobs", "soft", "drift", "ambient", "grain", "premium", "brand", "backdrop"],
7
+ "fonts": [],
8
+ "duration": 8,
9
+ "previewAt": 4,
10
+ "license": "original",
11
+ "previewLook": "soft-light-ad"
12
+ }
@@ -0,0 +1,131 @@
1
+ <!doctype html>
2
+ <!--
3
+ mesh-gradient: a slow, restrained mesh gradient in the look's own colors.
4
+ Four soft blobs (--field-2, --accent, --field-2 and a light lift) drift on
5
+ seeded sine paths over --field, drawn on a small canvas and scaled up so
6
+ they stay buttery; a fine per-frame grain sits on top to kill banding.
7
+ Every frame is a pure function of the timeline time.
8
+ Params (top of script): BLOBS (x/y/radius as fractions of the frame,
9
+ sine amplitude, speed, phase, strength), SPEED (global drift multiplier),
10
+ GRAIN (grain alpha 0–1), GRAIN_FPS. CSS: --mg-blur (extra softening).
11
+ -->
12
+ <html lang="en">
13
+ <head>
14
+ <meta charset="UTF-8" />
15
+ <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
16
+ </head>
17
+ <body>
18
+ <div
19
+ id="mesh-gradient-root"
20
+ data-composition-id="mesh-gradient"
21
+ data-start="0"
22
+ data-duration="8"
23
+ data-width="1920"
24
+ data-height="1080"
25
+ >
26
+ <style>
27
+ [data-composition-id="mesh-gradient"] {
28
+ --mg-blur: 18px;
29
+ position: absolute;
30
+ inset: 0;
31
+ overflow: hidden;
32
+ background: var(--field, #d9774f);
33
+ }
34
+ [data-composition-id="mesh-gradient"] canvas {
35
+ position: absolute;
36
+ left: 0;
37
+ top: 0;
38
+ width: 1920px;
39
+ height: 1080px;
40
+ }
41
+ [data-composition-id="mesh-gradient"] .mg-mesh {
42
+ filter: blur(var(--mg-blur));
43
+ transform: scale(1.06);
44
+ }
45
+ [data-composition-id="mesh-gradient"] .mg-grain {
46
+ mix-blend-mode: overlay;
47
+ }
48
+ </style>
49
+ <canvas class="mg-mesh" id="mg-mesh" width="480" height="270"></canvas>
50
+ <canvas class="mg-grain" id="mg-grain" width="960" height="540"></canvas>
51
+ </div>
52
+ <script>
53
+ (function () {
54
+ const DURATION = 8;
55
+ const SPEED = 1;
56
+ const GRAIN = 0.06;
57
+ const GRAIN_FPS = 12;
58
+ // token: which color; x/y/r: fractions of the frame; ax/ay: sine
59
+ // amplitude; w: angular speed (rad/s); p: phase; a: peak alpha.
60
+ const BLOBS = [
61
+ { token: "--field-2", fb: "#0f1e3d", x: 0.12, y: 0.95, r: 0.62, ax: 0.08, ay: 0.05, w: 0.21, p: 0.4, a: 0.6 },
62
+ { token: "--accent", fb: "#0f1e3d", x: 0.88, y: 0.1, r: 0.48, ax: 0.07, ay: 0.08, w: 0.17, p: 2.1, a: 0.38 },
63
+ { token: "--field-2", fb: "#0f1e3d", x: 0.98, y: 0.92, r: 0.4, ax: 0.05, ay: 0.06, w: 0.25, p: 4.0, a: 0.45 },
64
+ { token: "light", fb: "#ffffff", x: 0.38, y: 0.3, r: 0.5, ax: 0.1, ay: 0.06, w: 0.14, p: 1.3, a: 0.2 },
65
+ ];
66
+ const root = document.querySelector('[data-composition-id="mesh-gradient"]');
67
+ const mesh = document.getElementById("mg-mesh");
68
+ const grain = document.getElementById("mg-grain");
69
+ const mctx = mesh.getContext("2d");
70
+ const gctx = grain.getContext("2d");
71
+ const gimg = gctx.createImageData(grain.width, grain.height);
72
+
73
+ function rgb(token, fb) {
74
+ if (token === "light") return [255, 255, 255];
75
+ const probe = document.createElement("i");
76
+ probe.style.color = `var(${token}, ${fb})`;
77
+ root.appendChild(probe);
78
+ const m = getComputedStyle(probe).color.match(/[\d.]+/g).map(Number);
79
+ probe.remove();
80
+ return m.slice(0, 3);
81
+ }
82
+ // Resolve token colors once, at build time (never inside the callback).
83
+ for (const b of BLOBS) b.rgb = rgb(b.token, b.fb);
84
+ function hash(a, b) {
85
+ let h = Math.imul(a, 374761393) + Math.imul(b, 668265263);
86
+ h = Math.imul(h ^ (h >>> 13), 1274126177);
87
+ return ((h ^ (h >>> 16)) >>> 0) / 4294967296;
88
+ }
89
+
90
+ let lastGrainFrame = -1;
91
+ const state = { t: 0 };
92
+ function draw() {
93
+ const t = state.t * SPEED;
94
+ const W = mesh.width;
95
+ const H = mesh.height;
96
+ mctx.clearRect(0, 0, W, H);
97
+ for (const b of BLOBS) {
98
+ const [r, g, bl] = b.rgb;
99
+ const cx = (b.x + b.ax * Math.sin(t * b.w + b.p)) * W;
100
+ const cy = (b.y + b.ay * Math.cos(t * b.w * 0.8 + b.p * 1.7)) * H;
101
+ const rad = b.r * W * (1 + 0.05 * Math.sin(t * b.w * 1.3 + b.p));
102
+ const grad = mctx.createRadialGradient(cx, cy, 0, cx, cy, rad);
103
+ grad.addColorStop(0, `rgba(${r},${g},${bl},${b.a})`);
104
+ grad.addColorStop(0.45, `rgba(${r},${g},${bl},${b.a * 0.55})`);
105
+ grad.addColorStop(1, `rgba(${r},${g},${bl},0)`);
106
+ mctx.fillStyle = grad;
107
+ mctx.fillRect(0, 0, W, H);
108
+ }
109
+ const frame = Math.floor(state.t * GRAIN_FPS);
110
+ if (frame === lastGrainFrame) return;
111
+ lastGrainFrame = frame;
112
+ const d = gimg.data;
113
+ const GW = grain.width;
114
+ for (let i = 0, n = GW * grain.height; i < n; i++) {
115
+ const v = hash(i, frame + 7) * 255;
116
+ const o = i * 4;
117
+ d[o] = d[o + 1] = d[o + 2] = v;
118
+ d[o + 3] = GRAIN * 255;
119
+ }
120
+ gctx.putImageData(gimg, 0, 0);
121
+ }
122
+
123
+ const tl = gsap.timeline({ paused: true });
124
+ tl.fromTo(state, { t: 0 }, { t: DURATION, duration: DURATION, ease: "none", onUpdate: draw }, 0);
125
+ draw();
126
+ window.__timelines = window.__timelines || {};
127
+ window.__timelines["mesh-gradient"] = tl;
128
+ })();
129
+ </script>
130
+ </body>
131
+ </html>
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Magic UI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,16 @@
1
+ {
2
+ "id": "orbiting-circles",
3
+ "name": "Orbiting circles",
4
+ "kind": "diagram",
5
+ "description": "Icon chips orbit a central accent badge on two rings, the outer ring counter-rotating. Rings draw on, chips pop in with a stagger, then everything keeps turning at a calm, seek-safe pace. Use for ecosystems, integrations, 'everything around one core'. Edit ORBITS (radius, period, direction, icons) and CENTER.",
6
+ "tags": ["orbit", "ecosystem", "integrations", "icons", "rings", "hub", "loop", "launch", "magic-ui"],
7
+ "fonts": [],
8
+ "duration": 6,
9
+ "previewAt": 3,
10
+ "license": "MIT",
11
+ "source": {
12
+ "url": "https://github.com/magicuidesign/magicui/blob/main/apps/www/registry/magicui/orbiting-circles.tsx",
13
+ "author": "Magic UI"
14
+ },
15
+ "previewLook": "soft-light-ad"
16
+ }
@@ -0,0 +1,185 @@
1
+ <!doctype html>
2
+ <!--
3
+ orbiting-circles: icon chips orbit a central accent badge on two rings,
4
+ the outer ring turning the other way. The rings draw on, chips pop in,
5
+ and every chip's angle is a pure function of timeline time
6
+ (angle = start + direction * 360 * t / period), so it seeks cleanly.
7
+ Converted from Magic UI's Orbiting Circles (MIT, see LICENSE and
8
+ meta.json source): same evenly spaced start angles (360 / count * index),
9
+ optional reverse, upright icons; the CSS keyframe loop is replaced by the
10
+ piece's paused GSAP timeline. Icons are inline SVG, no images.
11
+ Params (top of script):
12
+ ORBITS [{ radius, period, reverse, size, icons }] — icons are names from
13
+ ICONS (doc, chat, db, cloud, app, code, user, bell, lock, mail,
14
+ chart, bolt)
15
+ CENTER icon name for the centre badge
16
+ CSS: --oc-x / --oc-y (centre of the system).
17
+ -->
18
+ <html lang="en">
19
+ <head>
20
+ <meta charset="UTF-8" />
21
+ <script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
22
+ </head>
23
+ <body>
24
+ <div
25
+ id="orbiting-circles-root"
26
+ data-composition-id="orbiting-circles"
27
+ data-start="0"
28
+ data-duration="6"
29
+ data-width="1920"
30
+ data-height="1080"
31
+ >
32
+ <style>
33
+ [data-composition-id="orbiting-circles"] {
34
+ --oc-x: 960px;
35
+ --oc-y: 540px;
36
+ position: absolute;
37
+ inset: 0;
38
+ color: var(--ink, #111);
39
+ }
40
+ [data-composition-id="orbiting-circles"] .oc-rings {
41
+ position: absolute;
42
+ left: 0;
43
+ top: 0;
44
+ overflow: visible;
45
+ }
46
+ [data-composition-id="orbiting-circles"] .oc-ring {
47
+ fill: none;
48
+ stroke: var(--ink, #111);
49
+ stroke-opacity: 0.22;
50
+ stroke-width: 2.5;
51
+ }
52
+ [data-composition-id="orbiting-circles"] .oc-chip {
53
+ position: absolute;
54
+ box-sizing: border-box;
55
+ border-radius: 50%;
56
+ border: 3px solid var(--ink, #111);
57
+ background: var(--field, #fff);
58
+ box-shadow: 0 16px 36px -16px color-mix(in srgb, var(--ink, #111) 45%, transparent);
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ color: var(--ink, #111);
63
+ }
64
+ [data-composition-id="orbiting-circles"] .oc-chip svg {
65
+ width: 50%;
66
+ height: 50%;
67
+ fill: none;
68
+ stroke: currentColor;
69
+ stroke-width: 3.4;
70
+ stroke-linecap: round;
71
+ stroke-linejoin: round;
72
+ }
73
+ [data-composition-id="orbiting-circles"] .oc-chip.is-center {
74
+ border: 0;
75
+ background: var(--accent, #111);
76
+ color: var(--field, #fff);
77
+ }
78
+ [data-composition-id="orbiting-circles"] .oc-chip.is-center svg {
79
+ stroke-width: 3.6;
80
+ }
81
+ </style>
82
+ <svg class="oc-rings" id="oc-rings" width="1920" height="1080" viewBox="0 0 1920 1080"></svg>
83
+ <div id="oc-chips"></div>
84
+ </div>
85
+ <script>
86
+ (function () {
87
+ // edit: rings (inner first) and the centre icon
88
+ const ORBITS = [
89
+ { radius: 215, period: 16, reverse: false, size: 92, icons: ["chat", "db", "code"] },
90
+ { radius: 395, period: 26, reverse: true, size: 112, icons: ["doc", "cloud", "user", "chart", "lock"] },
91
+ ];
92
+ const CENTER = "bolt";
93
+ const CENTER_SIZE = 196;
94
+ const DURATION = 6;
95
+
96
+ const ICONS = {
97
+ doc: '<path d="M16 6h22l12 12v36a4 4 0 0 1-4 4H16a4 4 0 0 1-4-4V10a4 4 0 0 1 4-4z"/><path d="M38 6v12h12M21 32h22M21 42h16"/>',
98
+ chat: '<path d="M10 14a6 6 0 0 1 6-6h32a6 6 0 0 1 6 6v22a6 6 0 0 1-6 6H28l-12 10v-10h0a6 6 0 0 1-6-6z"/><path d="M22 25h20"/>',
99
+ db: '<ellipse cx="32" cy="14" rx="20" ry="7"/><path d="M12 14v36c0 3.9 9 7 20 7s20-3.1 20-7V14M12 32c0 3.9 9 7 20 7s20-3.1 20-7"/>',
100
+ cloud: '<path d="M20 48h26a11 11 0 0 0 1-22 15 15 0 0 0-29-2 12 12 0 0 0 2 24z"/>',
101
+ app: '<rect x="8" y="12" width="48" height="40" rx="5"/><path d="M8 22h48M15 17h2M21 17h2"/>',
102
+ code: '<path d="M22 18 8 32l14 14M42 18l14 14-14 14M36 12 28 52"/>',
103
+ user: '<circle cx="32" cy="22" r="10"/><path d="M12 54c2-10 10-16 20-16s18 6 20 16"/>',
104
+ bell: '<path d="M18 44V28a14 14 0 0 1 28 0v16l4 4H14zM27 54h10"/>',
105
+ lock: '<rect x="12" y="28" width="40" height="28" rx="5"/><path d="M20 28v-8a12 12 0 0 1 24 0v8M32 38v8"/>',
106
+ mail: '<rect x="8" y="14" width="48" height="36" rx="5"/><path d="m10 18 22 16 22-16"/>',
107
+ chart: '<path d="M10 54h44M18 46V32M30 46V18M42 46V26"/>',
108
+ bolt: '<path d="M36 6 14 36h16l-4 22 22-30H32z"/>',
109
+ };
110
+
111
+ const root = document.querySelector('[data-composition-id="orbiting-circles"]');
112
+ const cs = getComputedStyle(root);
113
+ const CX = parseFloat(cs.getPropertyValue("--oc-x")) || 960;
114
+ const CY = parseFloat(cs.getPropertyValue("--oc-y")) || 540;
115
+ const NS = "http://www.w3.org/2000/svg";
116
+ const rings = document.getElementById("oc-rings");
117
+ const chipsEl = document.getElementById("oc-chips");
118
+
119
+ function chip(icon, size, center) {
120
+ const el = document.createElement("div");
121
+ el.className = "oc-chip" + (center ? " is-center" : "");
122
+ el.style.width = size + "px";
123
+ el.style.height = size + "px";
124
+ el.innerHTML = `<svg viewBox="0 0 64 64">${ICONS[icon] || ICONS.doc}</svg>`;
125
+ chipsEl.appendChild(el);
126
+ return el;
127
+ }
128
+
129
+ const orbiters = [];
130
+ const ringEls = ORBITS.map((o, ri) => {
131
+ const c = document.createElementNS(NS, "circle");
132
+ c.setAttribute("class", "oc-ring");
133
+ c.setAttribute("cx", CX);
134
+ c.setAttribute("cy", CY);
135
+ c.setAttribute("r", o.radius);
136
+ // Start the draw-on at 12 o'clock.
137
+ c.setAttribute("transform", `rotate(-90 ${CX} ${CY})`);
138
+ const len = 2 * Math.PI * o.radius;
139
+ c.style.strokeDasharray = `${len} ${len + 10}`;
140
+ c.style.strokeDashoffset = len;
141
+ rings.appendChild(c);
142
+ o.icons.forEach((icon, i) => {
143
+ // Upstream: angle = 360 / count * index; offset rings so chips interleave.
144
+ const start = (360 / o.icons.length) * i - 90 + ri * 18;
145
+ orbiters.push({ el: chip(icon, o.size, false), o, start, ring: ri, i });
146
+ });
147
+ return { c, len };
148
+ });
149
+ const centerEl = chip(CENTER, CENTER_SIZE, true);
150
+ centerEl.style.left = CX - CENTER_SIZE / 2 + "px";
151
+ centerEl.style.top = CY - CENTER_SIZE / 2 + "px";
152
+
153
+ const clock = { t: 0 };
154
+ function place() {
155
+ for (const b of orbiters) {
156
+ const dir = b.o.reverse ? -1 : 1;
157
+ const a = ((b.start + (dir * 360 * clock.t) / b.o.period) * Math.PI) / 180;
158
+ const x = CX + Math.cos(a) * b.o.radius - b.o.size / 2;
159
+ const y = CY + Math.sin(a) * b.o.radius - b.o.size / 2;
160
+ b.el.style.left = x.toFixed(2) + "px";
161
+ b.el.style.top = y.toFixed(2) + "px";
162
+ }
163
+ }
164
+
165
+ const tl = gsap.timeline({ paused: true });
166
+ tl.fromTo(centerEl, { scale: 0.4, opacity: 0 }, { scale: 1, opacity: 1, duration: 0.8, ease: "back.out(1.7)" }, 0.1);
167
+ ringEls.forEach((r, i) => {
168
+ tl.fromTo(r.c, { strokeDashoffset: r.len }, { strokeDashoffset: 0, duration: 1.1, ease: "power3.inOut" }, 0.2 + i * 0.2);
169
+ });
170
+ orbiters.forEach((b, k) => {
171
+ tl.fromTo(
172
+ b.el,
173
+ { scale: 0, opacity: 0 },
174
+ { scale: 1, opacity: 1, duration: 0.55, ease: "back.out(1.8)" },
175
+ 0.55 + b.ring * 0.25 + b.i * 0.09,
176
+ );
177
+ });
178
+ tl.fromTo(clock, { t: 0 }, { t: DURATION, duration: DURATION, ease: "none", onUpdate: place }, 0);
179
+ place();
180
+ window.__timelines = window.__timelines || {};
181
+ window.__timelines["orbiting-circles"] = tl;
182
+ })();
183
+ </script>
184
+ </body>
185
+ </html>
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "phone-frame",
3
+ "name": "Phone frame",
4
+ "kind": "ui",
5
+ "description": "A pure-CSS phone (rounded body, dynamic island, side buttons, edge highlight and a sweeping glass glare) rises in with a gentle 3D tilt and settles upright, then a default finance-app screen builds in. The screen is a slot: swap in a real app screenshot <img>.",
6
+ "tags": ["phone", "mobile", "device", "mockup", "app", "3d-tilt", "screenshot", "ios"],
7
+ "fonts": [],
8
+ "duration": 4,
9
+ "previewAt": 3,
10
+ "license": "original",
11
+ "previewLook": "soft-light-ad"
12
+ }