_spinners.py 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. """
  2. Spinners are from:
  3. * cli-spinners:
  4. MIT License
  5. Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
  6. Permission is hereby granted, free of charge, to any person obtaining a copy
  7. of this software and associated documentation files (the "Software"), to deal
  8. in the Software without restriction, including without limitation the rights to
  9. use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
  10. the Software, and to permit persons to whom the Software is furnished to do so,
  11. subject to the following conditions:
  12. The above copyright notice and this permission notice shall be included
  13. in all copies or substantial portions of the Software.
  14. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
  15. INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  16. PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
  17. FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  18. ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  19. IN THE SOFTWARE.
  20. """
  21. SPINNERS = {
  22. "dots": {
  23. "interval": 80,
  24. "frames": "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏",
  25. },
  26. "dots2": {"interval": 80, "frames": "⣾⣽⣻⢿⡿⣟⣯⣷"},
  27. "dots3": {
  28. "interval": 80,
  29. "frames": "⠋⠙⠚⠞⠖⠦⠴⠲⠳⠓",
  30. },
  31. "dots4": {
  32. "interval": 80,
  33. "frames": "⠄⠆⠇⠋⠙⠸⠰⠠⠰⠸⠙⠋⠇⠆",
  34. },
  35. "dots5": {
  36. "interval": 80,
  37. "frames": "⠋⠙⠚⠒⠂⠂⠒⠲⠴⠦⠖⠒⠐⠐⠒⠓⠋",
  38. },
  39. "dots6": {
  40. "interval": 80,
  41. "frames": "⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠴⠲⠒⠂⠂⠒⠚⠙⠉⠁",
  42. },
  43. "dots7": {
  44. "interval": 80,
  45. "frames": "⠈⠉⠋⠓⠒⠐⠐⠒⠖⠦⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈",
  46. },
  47. "dots8": {
  48. "interval": 80,
  49. "frames": "⠁⠁⠉⠙⠚⠒⠂⠂⠒⠲⠴⠤⠄⠄⠤⠠⠠⠤⠦⠖⠒⠐⠐⠒⠓⠋⠉⠈⠈",
  50. },
  51. "dots9": {"interval": 80, "frames": "⢹⢺⢼⣸⣇⡧⡗⡏"},
  52. "dots10": {"interval": 80, "frames": "⢄⢂⢁⡁⡈⡐⡠"},
  53. "dots11": {"interval": 100, "frames": "⠁⠂⠄⡀⢀⠠⠐⠈"},
  54. "dots12": {
  55. "interval": 80,
  56. "frames": [
  57. "⢀⠀",
  58. "⡀⠀",
  59. "⠄⠀",
  60. "⢂⠀",
  61. "⡂⠀",
  62. "⠅⠀",
  63. "⢃⠀",
  64. "⡃⠀",
  65. "⠍⠀",
  66. "⢋⠀",
  67. "⡋⠀",
  68. "⠍⠁",
  69. "⢋⠁",
  70. "⡋⠁",
  71. "⠍⠉",
  72. "⠋⠉",
  73. "⠋⠉",
  74. "⠉⠙",
  75. "⠉⠙",
  76. "⠉⠩",
  77. "⠈⢙",
  78. "⠈⡙",
  79. "⢈⠩",
  80. "⡀⢙",
  81. "⠄⡙",
  82. "⢂⠩",
  83. "⡂⢘",
  84. "⠅⡘",
  85. "⢃⠨",
  86. "⡃⢐",
  87. "⠍⡐",
  88. "⢋⠠",
  89. "⡋⢀",
  90. "⠍⡁",
  91. "⢋⠁",
  92. "⡋⠁",
  93. "⠍⠉",
  94. "⠋⠉",
  95. "⠋⠉",
  96. "⠉⠙",
  97. "⠉⠙",
  98. "⠉⠩",
  99. "⠈⢙",
  100. "⠈⡙",
  101. "⠈⠩",
  102. "⠀⢙",
  103. "⠀⡙",
  104. "⠀⠩",
  105. "⠀⢘",
  106. "⠀⡘",
  107. "⠀⠨",
  108. "⠀⢐",
  109. "⠀⡐",
  110. "⠀⠠",
  111. "⠀⢀",
  112. "⠀⡀",
  113. ],
  114. },
  115. "dots8Bit": {
  116. "interval": 80,
  117. "frames": "⠀⠁⠂⠃⠄⠅⠆⠇⡀⡁⡂⡃⡄⡅⡆⡇⠈⠉⠊⠋⠌⠍⠎⠏⡈⡉⡊⡋⡌⡍⡎⡏⠐⠑⠒⠓⠔⠕⠖⠗⡐⡑⡒⡓⡔⡕⡖⡗⠘⠙⠚⠛⠜⠝⠞⠟⡘⡙"
  118. "⡚⡛⡜⡝⡞⡟⠠⠡⠢⠣⠤⠥⠦⠧⡠⡡⡢⡣⡤⡥⡦⡧⠨⠩⠪⠫⠬⠭⠮⠯⡨⡩⡪⡫⡬⡭⡮⡯⠰⠱⠲⠳⠴⠵⠶⠷⡰⡱⡲⡳⡴⡵⡶⡷⠸⠹⠺⠻"
  119. "⠼⠽⠾⠿⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⣀⣁⣂⣃⣄⣅⣆⣇⢈⢉⢊⢋⢌⢍⢎⢏⣈⣉⣊⣋⣌⣍⣎⣏⢐⢑⢒⢓⢔⢕⢖⢗⣐⣑⣒⣓⣔⣕"
  120. "⣖⣗⢘⢙⢚⢛⢜⢝⢞⢟⣘⣙⣚⣛⣜⣝⣞⣟⢠⢡⢢⢣⢤⢥⢦⢧⣠⣡⣢⣣⣤⣥⣦⣧⢨⢩⢪⢫⢬⢭⢮⢯⣨⣩⣪⣫⣬⣭⣮⣯⢰⢱⢲⢳⢴⢵⢶⢷"
  121. "⣰⣱⣲⣳⣴⣵⣶⣷⢸⢹⢺⢻⢼⢽⢾⢿⣸⣹⣺⣻⣼⣽⣾⣿",
  122. },
  123. "line": {"interval": 130, "frames": ["-", "\\", "|", "/"]},
  124. "line2": {"interval": 100, "frames": "⠂-–—–-"},
  125. "pipe": {"interval": 100, "frames": "┤┘┴└├┌┬┐"},
  126. "simpleDots": {"interval": 400, "frames": [". ", ".. ", "...", " "]},
  127. "simpleDotsScrolling": {
  128. "interval": 200,
  129. "frames": [". ", ".. ", "...", " ..", " .", " "],
  130. },
  131. "star": {"interval": 70, "frames": "✶✸✹✺✹✷"},
  132. "star2": {"interval": 80, "frames": "+x*"},
  133. "flip": {
  134. "interval": 70,
  135. "frames": "___-``'´-___",
  136. },
  137. "hamburger": {"interval": 100, "frames": "☱☲☴"},
  138. "growVertical": {
  139. "interval": 120,
  140. "frames": "▁▃▄▅▆▇▆▅▄▃",
  141. },
  142. "growHorizontal": {
  143. "interval": 120,
  144. "frames": "▏▎▍▌▋▊▉▊▋▌▍▎",
  145. },
  146. "balloon": {"interval": 140, "frames": " .oO@* "},
  147. "balloon2": {"interval": 120, "frames": ".oO°Oo."},
  148. "noise": {"interval": 100, "frames": "▓▒░"},
  149. "bounce": {"interval": 120, "frames": "⠁⠂⠄⠂"},
  150. "boxBounce": {"interval": 120, "frames": "▖▘▝▗"},
  151. "boxBounce2": {"interval": 100, "frames": "▌▀▐▄"},
  152. "triangle": {"interval": 50, "frames": "◢◣◤◥"},
  153. "arc": {"interval": 100, "frames": "◜◠◝◞◡◟"},
  154. "circle": {"interval": 120, "frames": "◡⊙◠"},
  155. "squareCorners": {"interval": 180, "frames": "◰◳◲◱"},
  156. "circleQuarters": {"interval": 120, "frames": "◴◷◶◵"},
  157. "circleHalves": {"interval": 50, "frames": "◐◓◑◒"},
  158. "squish": {"interval": 100, "frames": "╫╪"},
  159. "toggle": {"interval": 250, "frames": "⊶⊷"},
  160. "toggle2": {"interval": 80, "frames": "▫▪"},
  161. "toggle3": {"interval": 120, "frames": "□■"},
  162. "toggle4": {"interval": 100, "frames": "■□▪▫"},
  163. "toggle5": {"interval": 100, "frames": "▮▯"},
  164. "toggle6": {"interval": 300, "frames": "ဝ၀"},
  165. "toggle7": {"interval": 80, "frames": "⦾⦿"},
  166. "toggle8": {"interval": 100, "frames": "◍◌"},
  167. "toggle9": {"interval": 100, "frames": "◉◎"},
  168. "toggle10": {"interval": 100, "frames": "㊂㊀㊁"},
  169. "toggle11": {"interval": 50, "frames": "⧇⧆"},
  170. "toggle12": {"interval": 120, "frames": "☗☖"},
  171. "toggle13": {"interval": 80, "frames": "=*-"},
  172. "arrow": {"interval": 100, "frames": "←↖↑↗→↘↓↙"},
  173. "arrow2": {
  174. "interval": 80,
  175. "frames": ["⬆️ ", "↗️ ", "➡️ ", "↘️ ", "⬇️ ", "↙️ ", "⬅️ ", "↖️ "],
  176. },
  177. "arrow3": {
  178. "interval": 120,
  179. "frames": ["▹▹▹▹▹", "▸▹▹▹▹", "▹▸▹▹▹", "▹▹▸▹▹", "▹▹▹▸▹", "▹▹▹▹▸"],
  180. },
  181. "bouncingBar": {
  182. "interval": 80,
  183. "frames": [
  184. "[ ]",
  185. "[= ]",
  186. "[== ]",
  187. "[=== ]",
  188. "[ ===]",
  189. "[ ==]",
  190. "[ =]",
  191. "[ ]",
  192. "[ =]",
  193. "[ ==]",
  194. "[ ===]",
  195. "[====]",
  196. "[=== ]",
  197. "[== ]",
  198. "[= ]",
  199. ],
  200. },
  201. "bouncingBall": {
  202. "interval": 80,
  203. "frames": [
  204. "( ● )",
  205. "( ● )",
  206. "( ● )",
  207. "( ● )",
  208. "( ●)",
  209. "( ● )",
  210. "( ● )",
  211. "( ● )",
  212. "( ● )",
  213. "(● )",
  214. ],
  215. },
  216. "smiley": {"interval": 200, "frames": ["😄 ", "😝 "]},
  217. "monkey": {"interval": 300, "frames": ["🙈 ", "🙈 ", "🙉 ", "🙊 "]},
  218. "hearts": {"interval": 100, "frames": ["💛 ", "💙 ", "💜 ", "💚 ", "❤️ "]},
  219. "clock": {
  220. "interval": 100,
  221. "frames": [
  222. "🕛 ",
  223. "🕐 ",
  224. "🕑 ",
  225. "🕒 ",
  226. "🕓 ",
  227. "🕔 ",
  228. "🕕 ",
  229. "🕖 ",
  230. "🕗 ",
  231. "🕘 ",
  232. "🕙 ",
  233. "🕚 ",
  234. ],
  235. },
  236. "earth": {"interval": 180, "frames": ["🌍 ", "🌎 ", "🌏 "]},
  237. "material": {
  238. "interval": 17,
  239. "frames": [
  240. "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  241. "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  242. "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  243. "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  244. "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  245. "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  246. "███████▁▁▁▁▁▁▁▁▁▁▁▁▁",
  247. "████████▁▁▁▁▁▁▁▁▁▁▁▁",
  248. "█████████▁▁▁▁▁▁▁▁▁▁▁",
  249. "█████████▁▁▁▁▁▁▁▁▁▁▁",
  250. "██████████▁▁▁▁▁▁▁▁▁▁",
  251. "███████████▁▁▁▁▁▁▁▁▁",
  252. "█████████████▁▁▁▁▁▁▁",
  253. "██████████████▁▁▁▁▁▁",
  254. "██████████████▁▁▁▁▁▁",
  255. "▁██████████████▁▁▁▁▁",
  256. "▁██████████████▁▁▁▁▁",
  257. "▁██████████████▁▁▁▁▁",
  258. "▁▁██████████████▁▁▁▁",
  259. "▁▁▁██████████████▁▁▁",
  260. "▁▁▁▁█████████████▁▁▁",
  261. "▁▁▁▁██████████████▁▁",
  262. "▁▁▁▁██████████████▁▁",
  263. "▁▁▁▁▁██████████████▁",
  264. "▁▁▁▁▁██████████████▁",
  265. "▁▁▁▁▁██████████████▁",
  266. "▁▁▁▁▁▁██████████████",
  267. "▁▁▁▁▁▁██████████████",
  268. "▁▁▁▁▁▁▁█████████████",
  269. "▁▁▁▁▁▁▁█████████████",
  270. "▁▁▁▁▁▁▁▁████████████",
  271. "▁▁▁▁▁▁▁▁████████████",
  272. "▁▁▁▁▁▁▁▁▁███████████",
  273. "▁▁▁▁▁▁▁▁▁███████████",
  274. "▁▁▁▁▁▁▁▁▁▁██████████",
  275. "▁▁▁▁▁▁▁▁▁▁██████████",
  276. "▁▁▁▁▁▁▁▁▁▁▁▁████████",
  277. "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
  278. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████",
  279. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
  280. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
  281. "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
  282. "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
  283. "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
  284. "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
  285. "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
  286. "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
  287. "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
  288. "██████▁▁▁▁▁▁▁▁▁▁▁▁▁█",
  289. "████████▁▁▁▁▁▁▁▁▁▁▁▁",
  290. "█████████▁▁▁▁▁▁▁▁▁▁▁",
  291. "█████████▁▁▁▁▁▁▁▁▁▁▁",
  292. "█████████▁▁▁▁▁▁▁▁▁▁▁",
  293. "█████████▁▁▁▁▁▁▁▁▁▁▁",
  294. "███████████▁▁▁▁▁▁▁▁▁",
  295. "████████████▁▁▁▁▁▁▁▁",
  296. "████████████▁▁▁▁▁▁▁▁",
  297. "██████████████▁▁▁▁▁▁",
  298. "██████████████▁▁▁▁▁▁",
  299. "▁██████████████▁▁▁▁▁",
  300. "▁██████████████▁▁▁▁▁",
  301. "▁▁▁█████████████▁▁▁▁",
  302. "▁▁▁▁▁████████████▁▁▁",
  303. "▁▁▁▁▁████████████▁▁▁",
  304. "▁▁▁▁▁▁███████████▁▁▁",
  305. "▁▁▁▁▁▁▁▁█████████▁▁▁",
  306. "▁▁▁▁▁▁▁▁█████████▁▁▁",
  307. "▁▁▁▁▁▁▁▁▁█████████▁▁",
  308. "▁▁▁▁▁▁▁▁▁█████████▁▁",
  309. "▁▁▁▁▁▁▁▁▁▁█████████▁",
  310. "▁▁▁▁▁▁▁▁▁▁▁████████▁",
  311. "▁▁▁▁▁▁▁▁▁▁▁████████▁",
  312. "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
  313. "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
  314. "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
  315. "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
  316. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
  317. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
  318. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
  319. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
  320. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
  321. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
  322. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
  323. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
  324. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
  325. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
  326. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
  327. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
  328. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  329. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  330. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  331. "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
  332. ],
  333. },
  334. "moon": {
  335. "interval": 80,
  336. "frames": ["🌑 ", "🌒 ", "🌓 ", "🌔 ", "🌕 ", "🌖 ", "🌗 ", "🌘 "],
  337. },
  338. "runner": {"interval": 140, "frames": ["🚶 ", "🏃 "]},
  339. "pong": {
  340. "interval": 80,
  341. "frames": [
  342. "▐⠂ ▌",
  343. "▐⠈ ▌",
  344. "▐ ⠂ ▌",
  345. "▐ ⠠ ▌",
  346. "▐ ⡀ ▌",
  347. "▐ ⠠ ▌",
  348. "▐ ⠂ ▌",
  349. "▐ ⠈ ▌",
  350. "▐ ⠂ ▌",
  351. "▐ ⠠ ▌",
  352. "▐ ⡀ ▌",
  353. "▐ ⠠ ▌",
  354. "▐ ⠂ ▌",
  355. "▐ ⠈ ▌",
  356. "▐ ⠂▌",
  357. "▐ ⠠▌",
  358. "▐ ⡀▌",
  359. "▐ ⠠ ▌",
  360. "▐ ⠂ ▌",
  361. "▐ ⠈ ▌",
  362. "▐ ⠂ ▌",
  363. "▐ ⠠ ▌",
  364. "▐ ⡀ ▌",
  365. "▐ ⠠ ▌",
  366. "▐ ⠂ ▌",
  367. "▐ ⠈ ▌",
  368. "▐ ⠂ ▌",
  369. "▐ ⠠ ▌",
  370. "▐ ⡀ ▌",
  371. "▐⠠ ▌",
  372. ],
  373. },
  374. "shark": {
  375. "interval": 120,
  376. "frames": [
  377. "▐|\\____________▌",
  378. "▐_|\\___________▌",
  379. "▐__|\\__________▌",
  380. "▐___|\\_________▌",
  381. "▐____|\\________▌",
  382. "▐_____|\\_______▌",
  383. "▐______|\\______▌",
  384. "▐_______|\\_____▌",
  385. "▐________|\\____▌",
  386. "▐_________|\\___▌",
  387. "▐__________|\\__▌",
  388. "▐___________|\\_▌",
  389. "▐____________|\\▌",
  390. "▐____________/|▌",
  391. "▐___________/|_▌",
  392. "▐__________/|__▌",
  393. "▐_________/|___▌",
  394. "▐________/|____▌",
  395. "▐_______/|_____▌",
  396. "▐______/|______▌",
  397. "▐_____/|_______▌",
  398. "▐____/|________▌",
  399. "▐___/|_________▌",
  400. "▐__/|__________▌",
  401. "▐_/|___________▌",
  402. "▐/|____________▌",
  403. ],
  404. },
  405. "dqpb": {"interval": 100, "frames": "dqpb"},
  406. "weather": {
  407. "interval": 100,
  408. "frames": [
  409. "☀️ ",
  410. "☀️ ",
  411. "☀️ ",
  412. "🌤 ",
  413. "⛅️ ",
  414. "🌥 ",
  415. "☁️ ",
  416. "🌧 ",
  417. "🌨 ",
  418. "🌧 ",
  419. "🌨 ",
  420. "🌧 ",
  421. "🌨 ",
  422. "⛈ ",
  423. "🌨 ",
  424. "🌧 ",
  425. "🌨 ",
  426. "☁️ ",
  427. "🌥 ",
  428. "⛅️ ",
  429. "🌤 ",
  430. "☀️ ",
  431. "☀️ ",
  432. ],
  433. },
  434. "christmas": {"interval": 400, "frames": "🌲🎄"},
  435. "grenade": {
  436. "interval": 80,
  437. "frames": [
  438. "، ",
  439. "′ ",
  440. " ´ ",
  441. " ‾ ",
  442. " ⸌",
  443. " ⸊",
  444. " |",
  445. " ⁎",
  446. " ⁕",
  447. " ෴ ",
  448. " ⁓",
  449. " ",
  450. " ",
  451. " ",
  452. ],
  453. },
  454. "point": {"interval": 125, "frames": ["∙∙∙", "●∙∙", "∙●∙", "∙∙●", "∙∙∙"]},
  455. "layer": {"interval": 150, "frames": "-=≡"},
  456. "betaWave": {
  457. "interval": 80,
  458. "frames": [
  459. "ρββββββ",
  460. "βρβββββ",
  461. "ββρββββ",
  462. "βββρβββ",
  463. "ββββρββ",
  464. "βββββρβ",
  465. "ββββββρ",
  466. ],
  467. },
  468. "aesthetic": {
  469. "interval": 80,
  470. "frames": [
  471. "▰▱▱▱▱▱▱",
  472. "▰▰▱▱▱▱▱",
  473. "▰▰▰▱▱▱▱",
  474. "▰▰▰▰▱▱▱",
  475. "▰▰▰▰▰▱▱",
  476. "▰▰▰▰▰▰▱",
  477. "▰▰▰▰▰▰▰",
  478. "▰▱▱▱▱▱▱",
  479. ],
  480. },
  481. }