@kenkaiiii/ggcoder 5.65.0 → 5.66.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 (690) hide show
  1. package/README.md +3 -3
  2. package/assets/motion/BRAG-LICENSE +21 -0
  3. package/assets/motion/HYPERFRAMES-LICENSE +190 -0
  4. package/assets/motion/THIRD-PARTY.md +52 -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 +111 -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/finger-paint/OFL.txt +93 -0
  305. package/assets/motion/fonts/finger-paint/finger-paint-normal.woff2 +0 -0
  306. package/assets/motion/fonts/fonts.json +265 -0
  307. package/assets/motion/fonts/fraunces/OFL.txt +93 -0
  308. package/assets/motion/fonts/fraunces/fraunces-italic.woff2 +0 -0
  309. package/assets/motion/fonts/fraunces/fraunces-normal.woff2 +0 -0
  310. package/assets/motion/fonts/funnel-display/OFL.txt +93 -0
  311. package/assets/motion/fonts/funnel-display/funnel-display-normal.woff2 +0 -0
  312. package/assets/motion/fonts/gloock/OFL.txt +93 -0
  313. package/assets/motion/fonts/gloock/gloock-normal.woff2 +0 -0
  314. package/assets/motion/fonts/host-grotesk/OFL.txt +93 -0
  315. package/assets/motion/fonts/host-grotesk/host-grotesk-normal.woff2 +0 -0
  316. package/assets/motion/fonts/hubot-sans/OFL.txt +93 -0
  317. package/assets/motion/fonts/hubot-sans/hubot-sans-normal.woff2 +0 -0
  318. package/assets/motion/fonts/martian-mono/OFL.txt +93 -0
  319. package/assets/motion/fonts/martian-mono/martian-mono-normal.woff2 +0 -0
  320. package/assets/motion/fonts/mona-sans/OFL.txt +93 -0
  321. package/assets/motion/fonts/mona-sans/mona-sans-normal.woff2 +0 -0
  322. package/assets/motion/fonts/newsreader/OFL.txt +93 -0
  323. package/assets/motion/fonts/newsreader/newsreader-italic.woff2 +0 -0
  324. package/assets/motion/fonts/newsreader/newsreader-normal.woff2 +0 -0
  325. package/assets/motion/fonts/schibsted-grotesk/OFL.txt +93 -0
  326. package/assets/motion/fonts/schibsted-grotesk/schibsted-grotesk-normal.woff2 +0 -0
  327. package/assets/motion/fonts/short-stack/OFL.txt +94 -0
  328. package/assets/motion/fonts/short-stack/short-stack-normal.woff2 +0 -0
  329. package/assets/motion/fonts/sora/OFL.txt +93 -0
  330. package/assets/motion/fonts/sora/sora-normal.woff2 +0 -0
  331. package/assets/motion/fonts/specimen.jpg +0 -0
  332. package/assets/motion/fonts/unbounded/OFL.txt +93 -0
  333. package/assets/motion/fonts/unbounded/unbounded-normal.woff2 +0 -0
  334. package/assets/motion/fonts/young-serif/OFL.txt +93 -0
  335. package/assets/motion/fonts/young-serif/young-serif-normal.woff2 +0 -0
  336. package/assets/motion/library/README.md +106 -0
  337. package/assets/motion/library/library.json +1384 -0
  338. package/assets/motion/library/looks/acid-poster/look.md +82 -0
  339. package/assets/motion/library/looks/acid-poster/meta.json +11 -0
  340. package/assets/motion/library/looks/acid-poster/preview.jpg +0 -0
  341. package/assets/motion/library/looks/acid-poster/sample.html +177 -0
  342. package/assets/motion/library/looks/acid-poster/tokens.css +16 -0
  343. package/assets/motion/library/looks/blueprint/look.md +22 -0
  344. package/assets/motion/library/looks/blueprint/meta.json +11 -0
  345. package/assets/motion/library/looks/blueprint/preview.jpg +0 -0
  346. package/assets/motion/library/looks/blueprint/sample.html +301 -0
  347. package/assets/motion/library/looks/blueprint/tokens.css +16 -0
  348. package/assets/motion/library/looks/dark-studio/look.md +85 -0
  349. package/assets/motion/library/looks/dark-studio/meta.json +11 -0
  350. package/assets/motion/library/looks/dark-studio/preview.jpg +0 -0
  351. package/assets/motion/library/looks/dark-studio/sample.html +324 -0
  352. package/assets/motion/library/looks/dark-studio/tokens.css +16 -0
  353. package/assets/motion/library/looks/data-desk/look.md +19 -0
  354. package/assets/motion/library/looks/data-desk/meta.json +9 -0
  355. package/assets/motion/library/looks/data-desk/preview.jpg +0 -0
  356. package/assets/motion/library/looks/data-desk/sample.html +17 -0
  357. package/assets/motion/library/looks/data-desk/tokens.css +15 -0
  358. package/assets/motion/library/looks/duotone-broadcast/look.md +53 -0
  359. package/assets/motion/library/looks/duotone-broadcast/meta.json +11 -0
  360. package/assets/motion/library/looks/duotone-broadcast/preview.jpg +0 -0
  361. package/assets/motion/library/looks/duotone-broadcast/sample.html +45 -0
  362. package/assets/motion/library/looks/duotone-broadcast/tokens.css +16 -0
  363. package/assets/motion/library/looks/editorial-ink/look.md +80 -0
  364. package/assets/motion/library/looks/editorial-ink/meta.json +11 -0
  365. package/assets/motion/library/looks/editorial-ink/preview.jpg +0 -0
  366. package/assets/motion/library/looks/editorial-ink/sample.html +203 -0
  367. package/assets/motion/library/looks/editorial-ink/tokens.css +16 -0
  368. package/assets/motion/library/looks/mono-luxe/look.md +19 -0
  369. package/assets/motion/library/looks/mono-luxe/meta.json +9 -0
  370. package/assets/motion/library/looks/mono-luxe/preview.jpg +0 -0
  371. package/assets/motion/library/looks/mono-luxe/sample.html +12 -0
  372. package/assets/motion/library/looks/mono-luxe/tokens.css +15 -0
  373. package/assets/motion/library/looks/soft-light-ad/look.md +63 -0
  374. package/assets/motion/library/looks/soft-light-ad/meta.json +39 -0
  375. package/assets/motion/library/looks/soft-light-ad/preview.jpg +0 -0
  376. package/assets/motion/library/looks/soft-light-ad/sample.html +44 -0
  377. package/assets/motion/library/looks/soft-light-ad/tokens.css +17 -0
  378. package/assets/motion/library/looks/sunlit-consumer/look.md +19 -0
  379. package/assets/motion/library/looks/sunlit-consumer/meta.json +9 -0
  380. package/assets/motion/library/looks/sunlit-consumer/preview.jpg +0 -0
  381. package/assets/motion/library/looks/sunlit-consumer/sample.html +12 -0
  382. package/assets/motion/library/looks/sunlit-consumer/tokens.css +15 -0
  383. package/assets/motion/library/looks/swiss-grid/look.md +81 -0
  384. package/assets/motion/library/looks/swiss-grid/meta.json +11 -0
  385. package/assets/motion/library/looks/swiss-grid/preview.jpg +0 -0
  386. package/assets/motion/library/looks/swiss-grid/sample.html +209 -0
  387. package/assets/motion/library/looks/swiss-grid/tokens.css +16 -0
  388. package/assets/motion/library/looks/terminal-phosphor/look.md +77 -0
  389. package/assets/motion/library/looks/terminal-phosphor/meta.json +11 -0
  390. package/assets/motion/library/looks/terminal-phosphor/preview.jpg +0 -0
  391. package/assets/motion/library/looks/terminal-phosphor/sample.html +182 -0
  392. package/assets/motion/library/looks/terminal-phosphor/tokens.css +16 -0
  393. package/assets/motion/library/pieces/animated-beam/LICENSE +21 -0
  394. package/assets/motion/library/pieces/animated-beam/meta.json +16 -0
  395. package/assets/motion/library/pieces/animated-beam/piece.html +273 -0
  396. package/assets/motion/library/pieces/animated-beam/preview.jpg +0 -0
  397. package/assets/motion/library/pieces/animated-list/LICENSE +21 -0
  398. package/assets/motion/library/pieces/animated-list/meta.json +16 -0
  399. package/assets/motion/library/pieces/animated-list/piece.html +189 -0
  400. package/assets/motion/library/pieces/animated-list/preview.jpg +0 -0
  401. package/assets/motion/library/pieces/before-after-split/meta.json +12 -0
  402. package/assets/motion/library/pieces/before-after-split/piece.html +262 -0
  403. package/assets/motion/library/pieces/before-after-split/preview.jpg +0 -0
  404. package/assets/motion/library/pieces/blueprint-grid/meta.json +12 -0
  405. package/assets/motion/library/pieces/blueprint-grid/piece.html +209 -0
  406. package/assets/motion/library/pieces/blueprint-grid/preview.jpg +0 -0
  407. package/assets/motion/library/pieces/broadcast-frame/meta.json +12 -0
  408. package/assets/motion/library/pieces/broadcast-frame/piece.html +100 -0
  409. package/assets/motion/library/pieces/broadcast-frame/preview.jpg +0 -0
  410. package/assets/motion/library/pieces/browser-window/meta.json +12 -0
  411. package/assets/motion/library/pieces/browser-window/piece.html +331 -0
  412. package/assets/motion/library/pieces/browser-window/preview.jpg +0 -0
  413. package/assets/motion/library/pieces/chapter-card/meta.json +6 -0
  414. package/assets/motion/library/pieces/chapter-card/piece.html +12 -0
  415. package/assets/motion/library/pieces/chapter-card/preview.jpg +0 -0
  416. package/assets/motion/library/pieces/chat-thread/meta.json +12 -0
  417. package/assets/motion/library/pieces/chat-thread/piece.html +272 -0
  418. package/assets/motion/library/pieces/chat-thread/preview.jpg +0 -0
  419. package/assets/motion/library/pieces/clay-drop-3d/meta.json +13 -0
  420. package/assets/motion/library/pieces/clay-drop-3d/piece.html +224 -0
  421. package/assets/motion/library/pieces/clay-drop-3d/preview.jpg +0 -0
  422. package/assets/motion/library/pieces/color-flip-field/meta.json +12 -0
  423. package/assets/motion/library/pieces/color-flip-field/piece.html +81 -0
  424. package/assets/motion/library/pieces/color-flip-field/preview.jpg +0 -0
  425. package/assets/motion/library/pieces/color-wipe/meta.json +6 -0
  426. package/assets/motion/library/pieces/color-wipe/piece.html +10 -0
  427. package/assets/motion/library/pieces/color-wipe/preview.jpg +0 -0
  428. package/assets/motion/library/pieces/command-palette/meta.json +12 -0
  429. package/assets/motion/library/pieces/command-palette/piece.html +339 -0
  430. package/assets/motion/library/pieces/command-palette/preview.jpg +0 -0
  431. package/assets/motion/library/pieces/comparison-bars/meta.json +12 -0
  432. package/assets/motion/library/pieces/comparison-bars/piece.html +191 -0
  433. package/assets/motion/library/pieces/comparison-bars/preview.jpg +0 -0
  434. package/assets/motion/library/pieces/counter-number/meta.json +12 -0
  435. package/assets/motion/library/pieces/counter-number/piece.html +131 -0
  436. package/assets/motion/library/pieces/counter-number/preview.jpg +0 -0
  437. package/assets/motion/library/pieces/cursor-click/meta.json +12 -0
  438. package/assets/motion/library/pieces/cursor-click/piece.html +242 -0
  439. package/assets/motion/library/pieces/cursor-click/preview.jpg +0 -0
  440. package/assets/motion/library/pieces/dock-magnify/LICENSE +21 -0
  441. package/assets/motion/library/pieces/dock-magnify/meta.json +16 -0
  442. package/assets/motion/library/pieces/dock-magnify/piece.html +234 -0
  443. package/assets/motion/library/pieces/dock-magnify/preview.jpg +0 -0
  444. package/assets/motion/library/pieces/donut-fill/meta.json +12 -0
  445. package/assets/motion/library/pieces/donut-fill/piece.html +156 -0
  446. package/assets/motion/library/pieces/donut-fill/preview.jpg +0 -0
  447. package/assets/motion/library/pieces/dot-grid-field/meta.json +12 -0
  448. package/assets/motion/library/pieces/dot-grid-field/piece.html +61 -0
  449. package/assets/motion/library/pieces/dot-grid-field/preview.jpg +0 -0
  450. package/assets/motion/library/pieces/ease-curve/meta.json +12 -0
  451. package/assets/motion/library/pieces/ease-curve/piece.html +103 -0
  452. package/assets/motion/library/pieces/ease-curve/preview.jpg +0 -0
  453. package/assets/motion/library/pieces/end-card/meta.json +6 -0
  454. package/assets/motion/library/pieces/end-card/piece.html +11 -0
  455. package/assets/motion/library/pieces/end-card/preview.jpg +0 -0
  456. package/assets/motion/library/pieces/film-grain/meta.json +12 -0
  457. package/assets/motion/library/pieces/film-grain/piece.html +93 -0
  458. package/assets/motion/library/pieces/film-grain/preview.jpg +0 -0
  459. package/assets/motion/library/pieces/flickering-grid/LICENSE +21 -0
  460. package/assets/motion/library/pieces/flickering-grid/meta.json +16 -0
  461. package/assets/motion/library/pieces/flickering-grid/piece.html +112 -0
  462. package/assets/motion/library/pieces/flickering-grid/preview.jpg +0 -0
  463. package/assets/motion/library/pieces/flow-nodes/meta.json +12 -0
  464. package/assets/motion/library/pieces/flow-nodes/piece.html +230 -0
  465. package/assets/motion/library/pieces/flow-nodes/preview.jpg +0 -0
  466. package/assets/motion/library/pieces/highlight-sweep/meta.json +12 -0
  467. package/assets/motion/library/pieces/highlight-sweep/piece.html +132 -0
  468. package/assets/motion/library/pieces/highlight-sweep/preview.jpg +0 -0
  469. package/assets/motion/library/pieces/iris-circle/meta.json +6 -0
  470. package/assets/motion/library/pieces/iris-circle/piece.html +6 -0
  471. package/assets/motion/library/pieces/iris-circle/preview.jpg +0 -0
  472. package/assets/motion/library/pieces/kinetic-letters/meta.json +12 -0
  473. package/assets/motion/library/pieces/kinetic-letters/piece.html +103 -0
  474. package/assets/motion/library/pieces/kinetic-letters/preview.jpg +0 -0
  475. package/assets/motion/library/pieces/light-leak-soft/meta.json +12 -0
  476. package/assets/motion/library/pieces/light-leak-soft/piece.html +102 -0
  477. package/assets/motion/library/pieces/light-leak-soft/preview.jpg +0 -0
  478. package/assets/motion/library/pieces/line-stack-reveal/meta.json +12 -0
  479. package/assets/motion/library/pieces/line-stack-reveal/piece.html +98 -0
  480. package/assets/motion/library/pieces/line-stack-reveal/preview.jpg +0 -0
  481. package/assets/motion/library/pieces/lower-third/meta.json +6 -0
  482. package/assets/motion/library/pieces/lower-third/piece.html +11 -0
  483. package/assets/motion/library/pieces/lower-third/preview.jpg +0 -0
  484. package/assets/motion/library/pieces/marquee-strip/meta.json +12 -0
  485. package/assets/motion/library/pieces/marquee-strip/piece.html +132 -0
  486. package/assets/motion/library/pieces/marquee-strip/preview.jpg +0 -0
  487. package/assets/motion/library/pieces/mesh-gradient/meta.json +12 -0
  488. package/assets/motion/library/pieces/mesh-gradient/piece.html +131 -0
  489. package/assets/motion/library/pieces/mesh-gradient/preview.jpg +0 -0
  490. package/assets/motion/library/pieces/orbiting-circles/LICENSE +21 -0
  491. package/assets/motion/library/pieces/orbiting-circles/meta.json +16 -0
  492. package/assets/motion/library/pieces/orbiting-circles/piece.html +185 -0
  493. package/assets/motion/library/pieces/orbiting-circles/preview.jpg +0 -0
  494. package/assets/motion/library/pieces/phone-frame/meta.json +12 -0
  495. package/assets/motion/library/pieces/phone-frame/piece.html +252 -0
  496. package/assets/motion/library/pieces/phone-frame/preview.jpg +0 -0
  497. package/assets/motion/library/pieces/pricing-toggle/meta.json +6 -0
  498. package/assets/motion/library/pieces/pricing-toggle/piece.html +18 -0
  499. package/assets/motion/library/pieces/pricing-toggle/preview.jpg +0 -0
  500. package/assets/motion/library/pieces/retro-grid/LICENSE +21 -0
  501. package/assets/motion/library/pieces/retro-grid/meta.json +16 -0
  502. package/assets/motion/library/pieces/retro-grid/piece.html +139 -0
  503. package/assets/motion/library/pieces/retro-grid/preview.jpg +0 -0
  504. package/assets/motion/library/pieces/scale-through-word/meta.json +12 -0
  505. package/assets/motion/library/pieces/scale-through-word/piece.html +139 -0
  506. package/assets/motion/library/pieces/scale-through-word/preview.jpg +0 -0
  507. package/assets/motion/library/pieces/serif-quote/meta.json +12 -0
  508. package/assets/motion/library/pieces/serif-quote/piece.html +145 -0
  509. package/assets/motion/library/pieces/serif-quote/preview.jpg +0 -0
  510. package/assets/motion/library/pieces/slam-word/meta.json +12 -0
  511. package/assets/motion/library/pieces/slam-word/piece.html +72 -0
  512. package/assets/motion/library/pieces/slam-word/preview.jpg +0 -0
  513. package/assets/motion/library/pieces/soft-light-field/meta.json +12 -0
  514. package/assets/motion/library/pieces/soft-light-field/piece.html +83 -0
  515. package/assets/motion/library/pieces/soft-light-field/preview.jpg +0 -0
  516. package/assets/motion/library/pieces/sparkline-draw/meta.json +12 -0
  517. package/assets/motion/library/pieces/sparkline-draw/piece.html +204 -0
  518. package/assets/motion/library/pieces/sparkline-draw/preview.jpg +0 -0
  519. package/assets/motion/library/pieces/stack-layers/meta.json +12 -0
  520. package/assets/motion/library/pieces/stack-layers/piece.html +239 -0
  521. package/assets/motion/library/pieces/stack-layers/preview.jpg +0 -0
  522. package/assets/motion/library/pieces/stat-grid/meta.json +12 -0
  523. package/assets/motion/library/pieces/stat-grid/piece.html +200 -0
  524. package/assets/motion/library/pieces/stat-grid/preview.jpg +0 -0
  525. package/assets/motion/library/pieces/studio-backdrop/meta.json +12 -0
  526. package/assets/motion/library/pieces/studio-backdrop/piece.html +83 -0
  527. package/assets/motion/library/pieces/studio-backdrop/preview.jpg +0 -0
  528. package/assets/motion/library/pieces/tile-flip/meta.json +6 -0
  529. package/assets/motion/library/pieces/tile-flip/piece.html +6 -0
  530. package/assets/motion/library/pieces/tile-flip/preview.jpg +0 -0
  531. package/assets/motion/library/pieces/timeline-track/meta.json +12 -0
  532. package/assets/motion/library/pieces/timeline-track/piece.html +227 -0
  533. package/assets/motion/library/pieces/timeline-track/preview.jpg +0 -0
  534. package/assets/motion/library/pieces/toast-stack/meta.json +12 -0
  535. package/assets/motion/library/pieces/toast-stack/piece.html +185 -0
  536. package/assets/motion/library/pieces/toast-stack/preview.jpg +0 -0
  537. package/assets/motion/library/pieces/typewriter-caption/meta.json +12 -0
  538. package/assets/motion/library/pieces/typewriter-caption/piece.html +112 -0
  539. package/assets/motion/library/pieces/typewriter-caption/preview.jpg +0 -0
  540. package/assets/motion/library/pieces/ui-stack-3d/meta.json +12 -0
  541. package/assets/motion/library/pieces/ui-stack-3d/piece.html +236 -0
  542. package/assets/motion/library/pieces/ui-stack-3d/preview.jpg +0 -0
  543. package/assets/motion/library/pieces/vignette/meta.json +12 -0
  544. package/assets/motion/library/pieces/vignette/piece.html +85 -0
  545. package/assets/motion/library/pieces/vignette/preview.jpg +0 -0
  546. package/assets/motion/library/pieces/word-swap/meta.json +12 -0
  547. package/assets/motion/library/pieces/word-swap/piece.html +122 -0
  548. package/assets/motion/library/pieces/word-swap/preview.jpg +0 -0
  549. package/assets/motion/library/sheets/3d.jpg +0 -0
  550. package/assets/motion/library/sheets/background.jpg +0 -0
  551. package/assets/motion/library/sheets/data.jpg +0 -0
  552. package/assets/motion/library/sheets/diagram.jpg +0 -0
  553. package/assets/motion/library/sheets/frame.jpg +0 -0
  554. package/assets/motion/library/sheets/looks.jpg +0 -0
  555. package/assets/motion/library/sheets/texture.jpg +0 -0
  556. package/assets/motion/library/sheets/transition.jpg +0 -0
  557. package/assets/motion/library/sheets/type.jpg +0 -0
  558. package/assets/motion/library/sheets/ui.jpg +0 -0
  559. package/assets/motion/plugin.json +5 -0
  560. package/assets/motion/references/README.md +20 -0
  561. package/assets/motion/references/index.json +25 -0
  562. package/assets/motion/references/motion-language.md +90 -0
  563. package/assets/motion/references/runtime/data-attributes.md +78 -0
  564. package/assets/motion/references/runtime/determinism-rules.md +53 -0
  565. package/assets/motion/references/runtime/doctor-browser.md +57 -0
  566. package/assets/motion/references/runtime/gsap-easing-and-stagger.md +199 -0
  567. package/assets/motion/references/runtime/gsap-timeline-and-labels.md +96 -0
  568. package/assets/motion/references/runtime/gsap-transforms-and-perf.md +129 -0
  569. package/assets/motion/references/runtime/gsap.md +105 -0
  570. package/assets/motion/references/runtime/inputs-and-assets.md +62 -0
  571. package/assets/motion/references/runtime/lint-validate-inspect.md +131 -0
  572. package/assets/motion/references/runtime/minimal-composition.md +69 -0
  573. package/assets/motion/references/runtime/preview-render.md +156 -0
  574. package/assets/motion/references/runtime/sub-compositions.md +176 -0
  575. package/assets/motion/references/runtime/tracks-and-clips.md +87 -0
  576. package/assets/motion/references/runtime/variables-and-media.md +107 -0
  577. package/assets/motion/references/signal-study.html +39 -0
  578. package/assets/motion/references/signal-temporal.jpg +0 -0
  579. package/assets/motion/references/type-temporal.jpg +0 -0
  580. package/assets/motion/skills/brand-kit/SKILL.md +70 -0
  581. package/assets/motion/skills/motion/SKILL.md +87 -0
  582. package/assets/motion/skills/source-ingest/SKILL.md +45 -0
  583. package/assets/motion/skills/video-qa/SKILL.md +67 -0
  584. package/assets/motion/vendor/three/LICENSE +21 -0
  585. package/assets/motion/vendor/three/addons/environments/RoomEnvironment.js +182 -0
  586. package/assets/motion/vendor/three/addons/geometries/RoundedBoxGeometry.js +216 -0
  587. package/assets/motion/vendor/three/addons/geometries/TextGeometry.js +84 -0
  588. package/assets/motion/vendor/three/addons/lights/RectAreaLightTexturesLib.js +127 -0
  589. package/assets/motion/vendor/three/addons/lights/RectAreaLightUniformsLib.js +40 -0
  590. package/assets/motion/vendor/three/addons/loaders/FontLoader.js +260 -0
  591. package/assets/motion/vendor/three/addons/loaders/GLTFLoader.js +4892 -0
  592. package/assets/motion/vendor/three/addons/loaders/HDRLoader.js +486 -0
  593. package/assets/motion/vendor/three/addons/loaders/SVGLoader.js +3267 -0
  594. package/assets/motion/vendor/three/addons/math/SimplexNoise.js +470 -0
  595. package/assets/motion/vendor/three/addons/objects/Reflector.js +338 -0
  596. package/assets/motion/vendor/three/addons/postprocessing/BokehPass.js +218 -0
  597. package/assets/motion/vendor/three/addons/postprocessing/EffectComposer.js +363 -0
  598. package/assets/motion/vendor/three/addons/postprocessing/FilmPass.js +113 -0
  599. package/assets/motion/vendor/three/addons/postprocessing/MaskPass.js +195 -0
  600. package/assets/motion/vendor/three/addons/postprocessing/OutputPass.js +139 -0
  601. package/assets/motion/vendor/three/addons/postprocessing/Pass.js +191 -0
  602. package/assets/motion/vendor/three/addons/postprocessing/RenderPass.js +183 -0
  603. package/assets/motion/vendor/three/addons/postprocessing/ShaderPass.js +135 -0
  604. package/assets/motion/vendor/three/addons/postprocessing/UnrealBloomPass.js +494 -0
  605. package/assets/motion/vendor/three/addons/renderers/CSS3DRenderer.js +454 -0
  606. package/assets/motion/vendor/three/addons/shaders/BokehShader.js +151 -0
  607. package/assets/motion/vendor/three/addons/shaders/CopyShader.js +52 -0
  608. package/assets/motion/vendor/three/addons/shaders/FilmShader.js +72 -0
  609. package/assets/motion/vendor/three/addons/shaders/LuminosityHighPassShader.js +68 -0
  610. package/assets/motion/vendor/three/addons/shaders/OutputShader.js +103 -0
  611. package/assets/motion/vendor/three/addons/utils/BufferGeometryUtils.js +1435 -0
  612. package/assets/motion/vendor/three/build/three.core.min.js +6 -0
  613. package/assets/motion/vendor/three/build/three.module.min.js +6 -0
  614. package/assets/motion/vendor/three/three.json +54 -0
  615. package/dist/app-sidecar-sessions.js +5 -0
  616. package/dist/app-sidecar-sessions.js.map +1 -1
  617. package/dist/app-sidecar.js +52 -16
  618. package/dist/app-sidecar.js.map +1 -1
  619. package/dist/cli.js +2 -2
  620. package/dist/cli.js.map +1 -1
  621. package/dist/core/agent-session.d.ts +26 -0
  622. package/dist/core/agent-session.js +104 -2
  623. package/dist/core/agent-session.js.map +1 -1
  624. package/dist/core/auth-providers.js +2 -2
  625. package/dist/core/auth-providers.js.map +1 -1
  626. package/dist/core/completion-review.d.ts +24 -0
  627. package/dist/core/completion-review.js +2 -0
  628. package/dist/core/completion-review.js.map +1 -0
  629. package/dist/core/context-limits.d.ts +6 -0
  630. package/dist/core/context-limits.js +8 -0
  631. package/dist/core/context-limits.js.map +1 -1
  632. package/dist/core/fast-apply-benchmark.d.ts +1 -1
  633. package/dist/core/fast-apply-benchmark.js +2 -2
  634. package/dist/core/fast-apply-benchmark.js.map +1 -1
  635. package/dist/core/lsp/pool.d.ts +2 -0
  636. package/dist/core/lsp/pool.js +4 -0
  637. package/dist/core/lsp/pool.js.map +1 -1
  638. package/dist/core/project-discovery.js +2 -0
  639. package/dist/core/project-discovery.js.map +1 -1
  640. package/dist/core/semantic-search-benchmark.d.ts +1 -1
  641. package/dist/core/semantic-search-benchmark.js +2 -2
  642. package/dist/core/semantic-search-benchmark.js.map +1 -1
  643. package/dist/core/session-export.d.ts +2 -2
  644. package/dist/core/session-export.js +6 -2
  645. package/dist/core/session-export.js.map +1 -1
  646. package/dist/core/skills.d.ts +15 -0
  647. package/dist/core/skills.js +35 -1
  648. package/dist/core/skills.js.map +1 -1
  649. package/dist/core/subagent-policy.js +1 -1
  650. package/dist/core/subagent-policy.js.map +1 -1
  651. package/dist/modes/json-mode.js +11 -2
  652. package/dist/modes/json-mode.js.map +1 -1
  653. package/dist/modes/subagent-worker-mode.d.ts +18 -0
  654. package/dist/modes/subagent-worker-mode.js +32 -27
  655. package/dist/modes/subagent-worker-mode.js.map +1 -1
  656. package/dist/motion-agent/motion-agent.d.ts +35 -0
  657. package/dist/motion-agent/motion-agent.js +117 -0
  658. package/dist/motion-agent/motion-agent.js.map +1 -0
  659. package/dist/motion-agent/motion-check-tool.d.ts +23 -0
  660. package/dist/motion-agent/motion-check-tool.js +318 -0
  661. package/dist/motion-agent/motion-check-tool.js.map +1 -0
  662. package/dist/motion-agent/motion-prompt.d.ts +2 -0
  663. package/dist/motion-agent/motion-prompt.js +44 -0
  664. package/dist/motion-agent/motion-prompt.js.map +1 -0
  665. package/dist/motion-agent/motion-review-coverage.d.ts +12 -0
  666. package/dist/motion-agent/motion-review-coverage.js +33 -0
  667. package/dist/motion-agent/motion-review-coverage.js.map +1 -0
  668. package/dist/motion-agent/motion-review-gate.d.ts +48 -0
  669. package/dist/motion-agent/motion-review-gate.js +88 -0
  670. package/dist/motion-agent/motion-review-gate.js.map +1 -0
  671. package/dist/motion-agent/motion-review-session.d.ts +65 -0
  672. package/dist/motion-agent/motion-review-session.js +418 -0
  673. package/dist/motion-agent/motion-review-session.js.map +1 -0
  674. package/dist/motion-agent/motion-review.d.ts +76 -0
  675. package/dist/motion-agent/motion-review.js +225 -0
  676. package/dist/motion-agent/motion-review.js.map +1 -0
  677. package/dist/motion-agent/motion-studio-context.d.ts +44 -0
  678. package/dist/motion-agent/motion-studio-context.js +65 -0
  679. package/dist/motion-agent/motion-studio-context.js.map +1 -0
  680. package/dist/system-prompt.d.ts +3 -0
  681. package/dist/system-prompt.js +5 -1
  682. package/dist/system-prompt.js.map +1 -1
  683. package/dist/tools/read.js +15 -2
  684. package/dist/tools/read.js.map +1 -1
  685. package/dist/tools/subagent-shared.d.ts +14 -0
  686. package/dist/tools/subagent-shared.js +25 -0
  687. package/dist/tools/subagent-shared.js.map +1 -1
  688. package/dist/ui/components/Footer.js +2 -2
  689. package/dist/ui/components/Footer.js.map +1 -1
  690. 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
+ }