@flyingrobots/bijou-tui 7.0.0 → 7.2.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 (569) hide show
  1. package/README.md +27 -4
  2. package/dist/accordion.d.ts +3 -108
  3. package/dist/accordion.d.ts.map +1 -1
  4. package/dist/accordion.js +2 -161
  5. package/dist/accordion.js.map +1 -1
  6. package/dist/accordion.part01.d.ts +25 -0
  7. package/dist/accordion.part01.d.ts.map +1 -0
  8. package/dist/accordion.part01.js +61 -0
  9. package/dist/accordion.part01.js.map +1 -0
  10. package/dist/accordion.part02.d.ts +8 -0
  11. package/dist/accordion.part02.d.ts.map +1 -0
  12. package/dist/accordion.part02.js +15 -0
  13. package/dist/accordion.part02.js.map +1 -0
  14. package/dist/animate.d.ts.map +1 -1
  15. package/dist/animate.js +5 -6
  16. package/dist/animate.js.map +1 -1
  17. package/dist/app-frame-actions.d.ts +1 -18
  18. package/dist/app-frame-actions.d.ts.map +1 -1
  19. package/dist/app-frame-actions.js +47 -43
  20. package/dist/app-frame-actions.js.map +1 -1
  21. package/dist/app-frame-i18n.d.ts.map +1 -1
  22. package/dist/app-frame-i18n.js +20 -3
  23. package/dist/app-frame-i18n.js.map +1 -1
  24. package/dist/app-frame-overlays.d.ts +9 -1
  25. package/dist/app-frame-overlays.d.ts.map +1 -1
  26. package/dist/app-frame-overlays.js +117 -25
  27. package/dist/app-frame-overlays.js.map +1 -1
  28. package/dist/app-frame-palette.d.ts +1 -11
  29. package/dist/app-frame-palette.d.ts.map +1 -1
  30. package/dist/app-frame-palette.js +19 -18
  31. package/dist/app-frame-palette.js.map +1 -1
  32. package/dist/app-frame-render.d.ts +0 -7
  33. package/dist/app-frame-render.d.ts.map +1 -1
  34. package/dist/app-frame-render.js +17 -26
  35. package/dist/app-frame-render.js.map +1 -1
  36. package/dist/app-frame-types.d.ts +8 -4
  37. package/dist/app-frame-types.d.ts.map +1 -1
  38. package/dist/app-frame-types.js +5 -5
  39. package/dist/app-frame-types.js.map +1 -1
  40. package/dist/app-frame-utils.d.ts +2 -1
  41. package/dist/app-frame-utils.d.ts.map +1 -1
  42. package/dist/app-frame-utils.js +8 -1
  43. package/dist/app-frame-utils.js.map +1 -1
  44. package/dist/app-frame.d.ts +75 -4
  45. package/dist/app-frame.d.ts.map +1 -1
  46. package/dist/app-frame.js +346 -272
  47. package/dist/app-frame.js.map +1 -1
  48. package/dist/app-frame.test-support.part01.d.ts +149 -0
  49. package/dist/app-frame.test-support.part01.d.ts.map +1 -0
  50. package/dist/app-frame.test-support.part01.js +106 -0
  51. package/dist/app-frame.test-support.part01.js.map +1 -0
  52. package/dist/app-frame.test-support.part02.d.ts +15 -0
  53. package/dist/app-frame.test-support.part02.d.ts.map +1 -0
  54. package/dist/app-frame.test-support.part02.js +89 -0
  55. package/dist/app-frame.test-support.part02.js.map +1 -0
  56. package/dist/browsable-list.d.ts +5 -5
  57. package/dist/browsable-list.d.ts.map +1 -1
  58. package/dist/browsable-list.js.map +1 -1
  59. package/dist/canvas.d.ts +2 -34
  60. package/dist/canvas.d.ts.map +1 -1
  61. package/dist/canvas.js +43 -47
  62. package/dist/canvas.js.map +1 -1
  63. package/dist/cell-glyph-fit.js +1 -1
  64. package/dist/cell-glyph-fit.js.map +1 -1
  65. package/dist/collection-surface-types.d.ts +12 -0
  66. package/dist/collection-surface-types.d.ts.map +1 -0
  67. package/dist/collection-surface-types.js +2 -0
  68. package/dist/collection-surface-types.js.map +1 -0
  69. package/dist/collection-surface.d.ts +2 -7
  70. package/dist/collection-surface.d.ts.map +1 -1
  71. package/dist/collection-surface.js +8 -18
  72. package/dist/collection-surface.js.map +1 -1
  73. package/dist/command-palette.d.ts.map +1 -1
  74. package/dist/command-palette.js +2 -1
  75. package/dist/command-palette.js.map +1 -1
  76. package/dist/commands.d.ts.map +1 -1
  77. package/dist/commands.js +1 -1
  78. package/dist/commands.js.map +1 -1
  79. package/dist/css/install.js.map +1 -1
  80. package/dist/css/parser.js +9 -3
  81. package/dist/css/parser.js.map +1 -1
  82. package/dist/css/resolver-types.d.ts +13 -0
  83. package/dist/css/resolver-types.d.ts.map +1 -0
  84. package/dist/css/resolver-types.js +2 -0
  85. package/dist/css/resolver-types.js.map +1 -0
  86. package/dist/css/resolver.d.ts +2 -12
  87. package/dist/css/resolver.d.ts.map +1 -1
  88. package/dist/css/resolver.js +13 -20
  89. package/dist/css/resolver.js.map +1 -1
  90. package/dist/css/text-style.d.ts +4 -8
  91. package/dist/css/text-style.d.ts.map +1 -1
  92. package/dist/css/text-style.js +13 -18
  93. package/dist/css/text-style.js.map +1 -1
  94. package/dist/dag-pane.d.ts +4 -224
  95. package/dist/dag-pane.d.ts.map +1 -1
  96. package/dist/dag-pane.js +3 -516
  97. package/dist/dag-pane.js.map +1 -1
  98. package/dist/dag-pane.part01.d.ts +58 -0
  99. package/dist/dag-pane.part01.d.ts.map +1 -0
  100. package/dist/dag-pane.part01.js +2 -0
  101. package/dist/dag-pane.part01.js.map +1 -0
  102. package/dist/dag-pane.part02.d.ts +4 -0
  103. package/dist/dag-pane.part02.d.ts.map +1 -0
  104. package/dist/dag-pane.part02.js +56 -0
  105. package/dist/dag-pane.part02.js.map +1 -0
  106. package/dist/dag-pane.part03.d.ts +6 -0
  107. package/dist/dag-pane.part03.d.ts.map +1 -0
  108. package/dist/dag-pane.part03.js +76 -0
  109. package/dist/dag-pane.part03.js.map +1 -0
  110. package/dist/dag-pane.part04.d.ts +7 -0
  111. package/dist/dag-pane.part04.d.ts.map +1 -0
  112. package/dist/dag-pane.part04.js +66 -0
  113. package/dist/dag-pane.part04.js.map +1 -0
  114. package/dist/dag-pane.part05.d.ts +7 -0
  115. package/dist/dag-pane.part05.d.ts.map +1 -0
  116. package/dist/dag-pane.part05.js +78 -0
  117. package/dist/dag-pane.part05.js.map +1 -0
  118. package/dist/dag-pane.part06.d.ts +14 -0
  119. package/dist/dag-pane.part06.d.ts.map +1 -0
  120. package/dist/dag-pane.part06.js +65 -0
  121. package/dist/dag-pane.part06.js.map +1 -0
  122. package/dist/dag-pane.part07.d.ts +18 -0
  123. package/dist/dag-pane.part07.d.ts.map +1 -0
  124. package/dist/dag-pane.part07.js +22 -0
  125. package/dist/dag-pane.part07.js.map +1 -0
  126. package/dist/driver.d.ts +35 -21
  127. package/dist/driver.d.ts.map +1 -1
  128. package/dist/driver.js +69 -39
  129. package/dist/driver.js.map +1 -1
  130. package/dist/eventbus.d.ts.map +1 -1
  131. package/dist/eventbus.js +13 -23
  132. package/dist/eventbus.js.map +1 -1
  133. package/dist/file-picker.d.ts +4 -160
  134. package/dist/file-picker.d.ts.map +1 -1
  135. package/dist/file-picker.js +3 -284
  136. package/dist/file-picker.js.map +1 -1
  137. package/dist/file-picker.part01.d.ts +54 -0
  138. package/dist/file-picker.part01.d.ts.map +1 -0
  139. package/dist/file-picker.part01.js +47 -0
  140. package/dist/file-picker.part01.js.map +1 -0
  141. package/dist/file-picker.part02.d.ts +9 -0
  142. package/dist/file-picker.part02.d.ts.map +1 -0
  143. package/dist/file-picker.part02.js +77 -0
  144. package/dist/file-picker.part02.js.map +1 -0
  145. package/dist/file-picker.part03.d.ts +12 -0
  146. package/dist/file-picker.part03.d.ts.map +1 -0
  147. package/dist/file-picker.part03.js +35 -0
  148. package/dist/file-picker.part03.js.map +1 -0
  149. package/dist/flex.d.ts +0 -61
  150. package/dist/flex.d.ts.map +1 -1
  151. package/dist/flex.js +11 -161
  152. package/dist/flex.js.map +1 -1
  153. package/dist/focus-area.d.ts +6 -210
  154. package/dist/focus-area.d.ts.map +1 -1
  155. package/dist/focus-area.js +5 -425
  156. package/dist/focus-area.js.map +1 -1
  157. package/dist/focus-area.part01.d.ts +57 -0
  158. package/dist/focus-area.part01.d.ts.map +1 -0
  159. package/dist/focus-area.part01.js +23 -0
  160. package/dist/focus-area.part01.js.map +1 -0
  161. package/dist/focus-area.part02.d.ts +13 -0
  162. package/dist/focus-area.part02.d.ts.map +1 -0
  163. package/dist/focus-area.part02.js +65 -0
  164. package/dist/focus-area.part02.js.map +1 -0
  165. package/dist/focus-area.part03.d.ts +5 -0
  166. package/dist/focus-area.part03.d.ts.map +1 -0
  167. package/dist/focus-area.part03.js +42 -0
  168. package/dist/focus-area.part03.js.map +1 -0
  169. package/dist/focus-area.part04.d.ts +5 -0
  170. package/dist/focus-area.part04.d.ts.map +1 -0
  171. package/dist/focus-area.part04.js +49 -0
  172. package/dist/focus-area.part04.js.map +1 -0
  173. package/dist/focus-area.part05.d.ts +10 -0
  174. package/dist/focus-area.part05.d.ts.map +1 -0
  175. package/dist/focus-area.part05.js +66 -0
  176. package/dist/focus-area.part05.js.map +1 -0
  177. package/dist/focus-area.part06.d.ts +17 -0
  178. package/dist/focus-area.part06.d.ts.map +1 -0
  179. package/dist/focus-area.part06.js +48 -0
  180. package/dist/focus-area.part06.js.map +1 -0
  181. package/dist/focus-map.d.ts.map +1 -1
  182. package/dist/focus-map.js +8 -10
  183. package/dist/focus-map.js.map +1 -1
  184. package/dist/index.d.ts +8 -79
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +8 -105
  187. package/dist/index.js.map +1 -1
  188. package/dist/index.part01.d.ts +15 -0
  189. package/dist/index.part01.d.ts.map +1 -0
  190. package/dist/index.part01.js +11 -0
  191. package/dist/index.part01.js.map +1 -0
  192. package/dist/index.part02.d.ts +26 -0
  193. package/dist/index.part02.d.ts.map +1 -0
  194. package/dist/index.part02.js +24 -0
  195. package/dist/index.part02.js.map +1 -0
  196. package/dist/index.part03.d.ts +17 -0
  197. package/dist/index.part03.d.ts.map +1 -0
  198. package/dist/index.part03.js +11 -0
  199. package/dist/index.part03.js.map +1 -0
  200. package/dist/index.part04.d.ts +6 -0
  201. package/dist/index.part04.d.ts.map +1 -0
  202. package/dist/index.part04.js +11 -0
  203. package/dist/index.part04.js.map +1 -0
  204. package/dist/index.part05.d.ts +10 -0
  205. package/dist/index.part05.d.ts.map +1 -0
  206. package/dist/index.part05.js +26 -0
  207. package/dist/index.part05.js.map +1 -0
  208. package/dist/index.part06.d.ts +9 -0
  209. package/dist/index.part06.d.ts.map +1 -0
  210. package/dist/index.part06.js +16 -0
  211. package/dist/index.part06.js.map +1 -0
  212. package/dist/index.part07.d.ts +8 -0
  213. package/dist/index.part07.d.ts.map +1 -0
  214. package/dist/index.part07.js +15 -0
  215. package/dist/index.part07.js.map +1 -0
  216. package/dist/index.part08.d.ts +5 -0
  217. package/dist/index.part08.d.ts.map +1 -0
  218. package/dist/index.part08.js +9 -0
  219. package/dist/index.part08.js.map +1 -0
  220. package/dist/input-map.d.ts.map +1 -1
  221. package/dist/input-map.js +1 -2
  222. package/dist/input-map.js.map +1 -1
  223. package/dist/input-parser.d.ts +3 -0
  224. package/dist/input-parser.d.ts.map +1 -0
  225. package/dist/input-parser.js +95 -0
  226. package/dist/input-parser.js.map +1 -0
  227. package/dist/input-routing-inspector.js +3 -3
  228. package/dist/input-routing-inspector.js.map +1 -1
  229. package/dist/inputstack.d.ts.map +1 -1
  230. package/dist/inputstack.js +2 -0
  231. package/dist/inputstack.js.map +1 -1
  232. package/dist/keybindings.d.ts.map +1 -1
  233. package/dist/keybindings.js +5 -2
  234. package/dist/keybindings.js.map +1 -1
  235. package/dist/keys.d.ts +0 -36
  236. package/dist/keys.d.ts.map +1 -1
  237. package/dist/keys.js +11 -66
  238. package/dist/keys.js.map +1 -1
  239. package/dist/layout-inspector.d.ts +2 -30
  240. package/dist/layout-inspector.d.ts.map +1 -1
  241. package/dist/layout-inspector.js +1 -132
  242. package/dist/layout-inspector.js.map +1 -1
  243. package/dist/layout-inspector.part01.d.ts +52 -0
  244. package/dist/layout-inspector.part01.d.ts.map +1 -0
  245. package/dist/layout-inspector.part01.js +48 -0
  246. package/dist/layout-inspector.part01.js.map +1 -0
  247. package/dist/layout-inspector.part02.d.ts +11 -0
  248. package/dist/layout-inspector.part02.d.ts.map +1 -0
  249. package/dist/layout-inspector.part02.js +80 -0
  250. package/dist/layout-inspector.part02.js.map +1 -0
  251. package/dist/layout-inspector.part03.d.ts +5 -0
  252. package/dist/layout-inspector.part03.d.ts.map +1 -0
  253. package/dist/layout-inspector.part03.js +11 -0
  254. package/dist/layout-inspector.part03.js.map +1 -0
  255. package/dist/layout-preset.js +4 -4
  256. package/dist/layout-preset.js.map +1 -1
  257. package/dist/layout.d.ts.map +1 -1
  258. package/dist/layout.js +5 -3
  259. package/dist/layout.js.map +1 -1
  260. package/dist/motion/motion.js +8 -4
  261. package/dist/motion/motion.js.map +1 -1
  262. package/dist/motion/reconciler.d.ts.map +1 -1
  263. package/dist/motion/reconciler.js +9 -7
  264. package/dist/motion/reconciler.js.map +1 -1
  265. package/dist/mouse-mode.d.ts +5 -0
  266. package/dist/mouse-mode.d.ts.map +1 -0
  267. package/dist/mouse-mode.js +17 -0
  268. package/dist/mouse-mode.js.map +1 -0
  269. package/dist/navigable-table.d.ts +3 -136
  270. package/dist/navigable-table.d.ts.map +1 -1
  271. package/dist/navigable-table.js +2 -234
  272. package/dist/navigable-table.js.map +1 -1
  273. package/dist/navigable-table.part01.d.ts +42 -0
  274. package/dist/navigable-table.part01.d.ts.map +1 -0
  275. package/dist/navigable-table.part01.js +42 -0
  276. package/dist/navigable-table.part01.js.map +1 -0
  277. package/dist/navigable-table.part02.d.ts +16 -0
  278. package/dist/navigable-table.part02.d.ts.map +1 -0
  279. package/dist/navigable-table.part02.js +83 -0
  280. package/dist/navigable-table.part02.js.map +1 -0
  281. package/dist/notification-card.d.ts +11 -0
  282. package/dist/notification-card.d.ts.map +1 -0
  283. package/dist/notification-card.js +157 -0
  284. package/dist/notification-card.js.map +1 -0
  285. package/dist/notification-stack.d.ts +6 -0
  286. package/dist/notification-stack.d.ts.map +1 -0
  287. package/dist/notification-stack.js +257 -0
  288. package/dist/notification-stack.js.map +1 -0
  289. package/dist/notification.d.ts +14 -112
  290. package/dist/notification.d.ts.map +1 -1
  291. package/dist/notification.js +12 -1087
  292. package/dist/notification.js.map +1 -1
  293. package/dist/notification.part01.d.ts +77 -0
  294. package/dist/notification.part01.d.ts.map +1 -0
  295. package/dist/notification.part01.js +19 -0
  296. package/dist/notification.part01.js.map +1 -0
  297. package/dist/notification.part02.d.ts +42 -0
  298. package/dist/notification.part02.d.ts.map +1 -0
  299. package/dist/notification.part02.js +44 -0
  300. package/dist/notification.part02.js.map +1 -0
  301. package/dist/notification.part03.d.ts +6 -0
  302. package/dist/notification.part03.d.ts.map +1 -0
  303. package/dist/notification.part03.js +81 -0
  304. package/dist/notification.part03.js.map +1 -0
  305. package/dist/notification.part04.d.ts +4 -0
  306. package/dist/notification.part04.d.ts.map +1 -0
  307. package/dist/notification.part04.js +32 -0
  308. package/dist/notification.part04.js.map +1 -0
  309. package/dist/notification.part05.d.ts +6 -0
  310. package/dist/notification.part05.d.ts.map +1 -0
  311. package/dist/notification.part05.js +95 -0
  312. package/dist/notification.part05.js.map +1 -0
  313. package/dist/notification.part06.d.ts +9 -0
  314. package/dist/notification.part06.d.ts.map +1 -0
  315. package/dist/notification.part06.js +65 -0
  316. package/dist/notification.part06.js.map +1 -0
  317. package/dist/notification.part07.d.ts +10 -0
  318. package/dist/notification.part07.d.ts.map +1 -0
  319. package/dist/notification.part07.js +70 -0
  320. package/dist/notification.part07.js.map +1 -0
  321. package/dist/notification.part08.d.ts +5 -0
  322. package/dist/notification.part08.d.ts.map +1 -0
  323. package/dist/notification.part08.js +79 -0
  324. package/dist/notification.part08.js.map +1 -0
  325. package/dist/notification.part09.d.ts +14 -0
  326. package/dist/notification.part09.d.ts.map +1 -0
  327. package/dist/notification.part09.js +96 -0
  328. package/dist/notification.part09.js.map +1 -0
  329. package/dist/notification.part10.d.ts +13 -0
  330. package/dist/notification.part10.d.ts.map +1 -0
  331. package/dist/notification.part10.js +94 -0
  332. package/dist/notification.part10.js.map +1 -0
  333. package/dist/notification.part11.d.ts +6 -0
  334. package/dist/notification.part11.d.ts.map +1 -0
  335. package/dist/notification.part11.js +42 -0
  336. package/dist/notification.part11.js.map +1 -0
  337. package/dist/overlay.d.ts +8 -232
  338. package/dist/overlay.d.ts.map +1 -1
  339. package/dist/overlay.js +5 -629
  340. package/dist/overlay.js.map +1 -1
  341. package/dist/overlay.part01.d.ts +71 -0
  342. package/dist/overlay.part01.d.ts.map +1 -0
  343. package/dist/overlay.part01.js +34 -0
  344. package/dist/overlay.part01.js.map +1 -0
  345. package/dist/overlay.part02.d.ts +8 -0
  346. package/dist/overlay.part02.d.ts.map +1 -0
  347. package/dist/overlay.part02.js +81 -0
  348. package/dist/overlay.part02.js.map +1 -0
  349. package/dist/overlay.part03.d.ts +27 -0
  350. package/dist/overlay.part03.d.ts.map +1 -0
  351. package/dist/overlay.part03.js +83 -0
  352. package/dist/overlay.part03.js.map +1 -0
  353. package/dist/overlay.part04.d.ts +8 -0
  354. package/dist/overlay.part04.d.ts.map +1 -0
  355. package/dist/overlay.part04.js +103 -0
  356. package/dist/overlay.part04.js.map +1 -0
  357. package/dist/overlay.part05.d.ts +8 -0
  358. package/dist/overlay.part05.d.ts.map +1 -0
  359. package/dist/overlay.part05.js +66 -0
  360. package/dist/overlay.part05.js.map +1 -0
  361. package/dist/overlay.part06.d.ts +46 -0
  362. package/dist/overlay.part06.d.ts.map +1 -0
  363. package/dist/overlay.part06.js +35 -0
  364. package/dist/overlay.part06.js.map +1 -0
  365. package/dist/overlay.part07.d.ts +4 -0
  366. package/dist/overlay.part07.d.ts.map +1 -0
  367. package/dist/overlay.part07.js +64 -0
  368. package/dist/overlay.part07.js.map +1 -0
  369. package/dist/overlay.part08.d.ts +34 -0
  370. package/dist/overlay.part08.d.ts.map +1 -0
  371. package/dist/overlay.part08.js +54 -0
  372. package/dist/overlay.part08.js.map +1 -0
  373. package/dist/overlay.part09.d.ts +6 -0
  374. package/dist/overlay.part09.d.ts.map +1 -0
  375. package/dist/overlay.part09.js +42 -0
  376. package/dist/overlay.part09.js.map +1 -0
  377. package/dist/pager.d.ts.map +1 -1
  378. package/dist/pager.js +2 -4
  379. package/dist/pager.js.map +1 -1
  380. package/dist/panel-dock.d.ts.map +1 -1
  381. package/dist/panel-dock.js +9 -11
  382. package/dist/panel-dock.js.map +1 -1
  383. package/dist/panels.d.ts.map +1 -1
  384. package/dist/panels.js +2 -0
  385. package/dist/panels.js.map +1 -1
  386. package/dist/pipeline/middleware/css.d.ts +3 -5
  387. package/dist/pipeline/middleware/css.d.ts.map +1 -1
  388. package/dist/pipeline/middleware/css.js +12 -6
  389. package/dist/pipeline/middleware/css.js.map +1 -1
  390. package/dist/pipeline/middleware/grayscale.js +15 -10
  391. package/dist/pipeline/middleware/grayscale.js.map +1 -1
  392. package/dist/pipeline/middleware/motion.js +9 -1
  393. package/dist/pipeline/middleware/motion.js.map +1 -1
  394. package/dist/pipeline/middleware/paint.js +9 -1
  395. package/dist/pipeline/middleware/paint.js.map +1 -1
  396. package/dist/pipeline/middleware/surface-shaders.js +13 -11
  397. package/dist/pipeline/middleware/surface-shaders.js.map +1 -1
  398. package/dist/pipeline/pipeline.d.ts +7 -52
  399. package/dist/pipeline/pipeline.d.ts.map +1 -1
  400. package/dist/pipeline/pipeline.js +37 -27
  401. package/dist/pipeline/pipeline.js.map +1 -1
  402. package/dist/raster-glyph.d.ts +3 -0
  403. package/dist/raster-glyph.d.ts.map +1 -0
  404. package/dist/raster-glyph.js +2 -0
  405. package/dist/raster-glyph.js.map +1 -0
  406. package/dist/raster-glyph.part01.d.ts +75 -0
  407. package/dist/raster-glyph.part01.d.ts.map +1 -0
  408. package/dist/raster-glyph.part01.js +25 -0
  409. package/dist/raster-glyph.part01.js.map +1 -0
  410. package/dist/raster-glyph.part02.d.ts +12 -0
  411. package/dist/raster-glyph.part02.d.ts.map +1 -0
  412. package/dist/raster-glyph.part02.js +81 -0
  413. package/dist/raster-glyph.part02.js.map +1 -0
  414. package/dist/raster-glyph.part03.d.ts +6 -0
  415. package/dist/raster-glyph.part03.d.ts.map +1 -0
  416. package/dist/raster-glyph.part03.js +60 -0
  417. package/dist/raster-glyph.part03.js.map +1 -0
  418. package/dist/raster-glyph.part04.d.ts +7 -0
  419. package/dist/raster-glyph.part04.d.ts.map +1 -0
  420. package/dist/raster-glyph.part04.js +59 -0
  421. package/dist/raster-glyph.part04.js.map +1 -0
  422. package/dist/raster-glyph.part05.d.ts +6 -0
  423. package/dist/raster-glyph.part05.d.ts.map +1 -0
  424. package/dist/raster-glyph.part05.js +71 -0
  425. package/dist/raster-glyph.part05.js.map +1 -0
  426. package/dist/raster-glyph.part06.d.ts +18 -0
  427. package/dist/raster-glyph.part06.d.ts.map +1 -0
  428. package/dist/raster-glyph.part06.js +78 -0
  429. package/dist/raster-glyph.part06.js.map +1 -0
  430. package/dist/raster-glyph.part07.d.ts +11 -0
  431. package/dist/raster-glyph.part07.d.ts.map +1 -0
  432. package/dist/raster-glyph.part07.js +55 -0
  433. package/dist/raster-glyph.part07.js.map +1 -0
  434. package/dist/raytrace.d.ts +3 -58
  435. package/dist/raytrace.d.ts.map +1 -1
  436. package/dist/raytrace.js +2 -120
  437. package/dist/raytrace.js.map +1 -1
  438. package/dist/raytrace.part01.d.ts +47 -0
  439. package/dist/raytrace.part01.d.ts.map +1 -0
  440. package/dist/raytrace.part01.js +45 -0
  441. package/dist/raytrace.part01.js.map +1 -0
  442. package/dist/raytrace.part02.d.ts +12 -0
  443. package/dist/raytrace.part02.d.ts.map +1 -0
  444. package/dist/raytrace.part02.js +73 -0
  445. package/dist/raytrace.part02.js.map +1 -0
  446. package/dist/runtime-binding.d.ts +2 -3
  447. package/dist/runtime-binding.d.ts.map +1 -1
  448. package/dist/runtime-binding.js +49 -38
  449. package/dist/runtime-binding.js.map +1 -1
  450. package/dist/runtime-engine.d.ts +2 -2
  451. package/dist/runtime-engine.d.ts.map +1 -1
  452. package/dist/runtime-engine.js +15 -4
  453. package/dist/runtime-engine.js.map +1 -1
  454. package/dist/runtime.d.ts +2 -18
  455. package/dist/runtime.d.ts.map +1 -1
  456. package/dist/runtime.js +43 -62
  457. package/dist/runtime.js.map +1 -1
  458. package/dist/screen.js +1 -1
  459. package/dist/screen.js.map +1 -1
  460. package/dist/shell-quit.d.ts.map +1 -1
  461. package/dist/shell-quit.js +49 -6
  462. package/dist/shell-quit.js.map +1 -1
  463. package/dist/split-pane.d.ts +3 -104
  464. package/dist/split-pane.d.ts.map +1 -1
  465. package/dist/split-pane.js +2 -190
  466. package/dist/split-pane.js.map +1 -1
  467. package/dist/split-pane.part01.d.ts +60 -0
  468. package/dist/split-pane.part01.d.ts.map +1 -0
  469. package/dist/split-pane.part01.js +45 -0
  470. package/dist/split-pane.part01.js.map +1 -0
  471. package/dist/split-pane.part02.d.ts +8 -0
  472. package/dist/split-pane.part02.d.ts.map +1 -0
  473. package/dist/split-pane.part02.js +73 -0
  474. package/dist/split-pane.part02.js.map +1 -0
  475. package/dist/split-pane.part03.d.ts +4 -0
  476. package/dist/split-pane.part03.d.ts.map +1 -0
  477. package/dist/split-pane.part03.js +40 -0
  478. package/dist/split-pane.part03.js.map +1 -0
  479. package/dist/spring.d.ts +4 -187
  480. package/dist/spring.d.ts.map +1 -1
  481. package/dist/spring.js +2 -142
  482. package/dist/spring.js.map +1 -1
  483. package/dist/spring.part01.d.ts +90 -0
  484. package/dist/spring.part01.d.ts.map +1 -0
  485. package/dist/spring.part01.js +58 -0
  486. package/dist/spring.part01.js.map +1 -0
  487. package/dist/spring.part02.d.ts +25 -0
  488. package/dist/spring.part02.d.ts.map +1 -0
  489. package/dist/spring.part02.js +21 -0
  490. package/dist/spring.part02.js.map +1 -0
  491. package/dist/status-bar.js +1 -1
  492. package/dist/status-bar.js.map +1 -1
  493. package/dist/subapp/mount.d.ts +6 -6
  494. package/dist/subapp/mount.d.ts.map +1 -1
  495. package/dist/subapp/mount.js +19 -14
  496. package/dist/subapp/mount.js.map +1 -1
  497. package/dist/surface-budget-types.d.ts +26 -0
  498. package/dist/surface-budget-types.d.ts.map +1 -0
  499. package/dist/surface-budget-types.js +2 -0
  500. package/dist/surface-budget-types.js.map +1 -0
  501. package/dist/surface-budget.d.ts +2 -25
  502. package/dist/surface-budget.d.ts.map +1 -1
  503. package/dist/surface-budget.js.map +1 -1
  504. package/dist/surface-diff.js +26 -28
  505. package/dist/surface-diff.js.map +1 -1
  506. package/dist/surface-layout.d.ts.map +1 -1
  507. package/dist/surface-layout.js +1 -2
  508. package/dist/surface-layout.js.map +1 -1
  509. package/dist/timeline.d.ts +1 -1
  510. package/dist/timeline.d.ts.map +1 -1
  511. package/dist/timeline.js +17 -15
  512. package/dist/timeline.js.map +1 -1
  513. package/dist/transition-shaders.d.ts +5 -142
  514. package/dist/transition-shaders.d.ts.map +1 -1
  515. package/dist/transition-shaders.js +4 -391
  516. package/dist/transition-shaders.js.map +1 -1
  517. package/dist/transition-shaders.part01.d.ts +41 -0
  518. package/dist/transition-shaders.part01.d.ts.map +1 -0
  519. package/dist/transition-shaders.part01.js +38 -0
  520. package/dist/transition-shaders.part01.js.map +1 -0
  521. package/dist/transition-shaders.part02.d.ts +12 -0
  522. package/dist/transition-shaders.part02.d.ts.map +1 -0
  523. package/dist/transition-shaders.part02.js +88 -0
  524. package/dist/transition-shaders.part02.js.map +1 -0
  525. package/dist/transition-shaders.part03.d.ts +6 -0
  526. package/dist/transition-shaders.part03.d.ts.map +1 -0
  527. package/dist/transition-shaders.part03.js +82 -0
  528. package/dist/transition-shaders.part03.js.map +1 -0
  529. package/dist/transition-shaders.part04.d.ts +16 -0
  530. package/dist/transition-shaders.part04.d.ts.map +1 -0
  531. package/dist/transition-shaders.part04.js +98 -0
  532. package/dist/transition-shaders.part04.js.map +1 -0
  533. package/dist/types.d.ts +10 -42
  534. package/dist/types.d.ts.map +1 -1
  535. package/dist/types.js +9 -36
  536. package/dist/types.js.map +1 -1
  537. package/dist/view-output.d.ts +1 -1
  538. package/dist/view-output.d.ts.map +1 -1
  539. package/dist/view-output.js +3 -2
  540. package/dist/view-output.js.map +1 -1
  541. package/dist/viewport.d.ts +7 -213
  542. package/dist/viewport.d.ts.map +1 -1
  543. package/dist/viewport.js +6 -470
  544. package/dist/viewport.js.map +1 -1
  545. package/dist/viewport.part01.d.ts +51 -0
  546. package/dist/viewport.part01.d.ts.map +1 -0
  547. package/dist/viewport.part01.js +10 -0
  548. package/dist/viewport.part01.js.map +1 -0
  549. package/dist/viewport.part02.d.ts +2 -0
  550. package/dist/viewport.part02.d.ts.map +1 -0
  551. package/dist/viewport.part02.js +69 -0
  552. package/dist/viewport.part02.js.map +1 -0
  553. package/dist/viewport.part03.d.ts +10 -0
  554. package/dist/viewport.part03.d.ts.map +1 -0
  555. package/dist/viewport.part03.js +78 -0
  556. package/dist/viewport.part03.js.map +1 -0
  557. package/dist/viewport.part04.d.ts +4 -0
  558. package/dist/viewport.part04.d.ts.map +1 -0
  559. package/dist/viewport.part04.js +50 -0
  560. package/dist/viewport.part04.js.map +1 -0
  561. package/dist/viewport.part05.d.ts +5 -0
  562. package/dist/viewport.part05.d.ts.map +1 -0
  563. package/dist/viewport.part05.js +59 -0
  564. package/dist/viewport.part05.js.map +1 -0
  565. package/dist/viewport.part06.d.ts +14 -0
  566. package/dist/viewport.part06.d.ts.map +1 -0
  567. package/dist/viewport.part06.js +58 -0
  568. package/dist/viewport.part06.js.map +1 -0
  569. package/package.json +3 -3
@@ -1,392 +1,5 @@
1
- /**
2
- * Transition shader system composable pure functions for page transitions.
3
- *
4
- * Each shader receives cell metadata (position, dimensions, progress, random,
5
- * frame counter) and returns whether to show the next page or optionally
6
- * override the rendered cell.
7
- *
8
- * ## Shader types
9
- *
10
- * - **Instances** (`wipeShader`, `dissolveShader`, …) — zero-config, ready to use.
11
- * - **Factories** (`wipe()`, `radial()`, `blinds()`, …) — parameterized, return a shader.
12
- * - **Combinators** (`reverse()`, `chain()`, `overlay()`) — transform or compose shaders.
13
- */
14
- function tokenCell(char, token) {
15
- const cell = {
16
- char,
17
- fg: token.hex,
18
- bg: token.bg,
19
- modifiers: token.modifiers ? [...token.modifiers] : [],
20
- empty: false,
21
- };
22
- if (token.fgRGB)
23
- cell.fgRGB = token.fgRGB;
24
- if (token.bgRGB)
25
- cell.bgRGB = token.bgRGB;
26
- return cell;
27
- }
28
- // ---------------------------------------------------------------------------
29
- // Pseudo-random helpers
30
- // ---------------------------------------------------------------------------
31
- /** Hash-based pseudo-random that incorporates spatial + temporal seeds. */
32
- function noise(x, y, seed) {
33
- // Constant offset (7.31) breaks the degenerate fixed point at (0, 0, 0).
34
- const v = Math.sin(x * 12.9898 + y * 78.233 + seed * 43.7585 + 7.31) * 43758.5453;
35
- return v - Math.floor(v);
36
- }
37
- /** Compute normalized coordinates, aspect-corrected deltas, and distance metrics. */
38
- function computeOriginMetrics(x, y, width, height, originX, originY) {
39
- const nx = x / width;
40
- const ny = y / height;
41
- const aspect = width / Math.max(1, height) * 0.5; // chars are ~2:1 tall
42
- const dx = (nx - originX) * aspect;
43
- const dy = ny - originY;
44
- const dist = Math.sqrt(dx * dx + dy * dy);
45
- const maxDist = Math.sqrt(Math.max(originX, 1 - originX) ** 2 * aspect * aspect
46
- + Math.max(originY, 1 - originY) ** 2);
47
- const normDist = maxDist > 0 ? dist / maxDist : 0;
48
- return { nx, ny, aspect, dx, dy, dist, maxDist, normDist };
49
- }
50
- // ---------------------------------------------------------------------------
51
- // Core built-in instances
52
- // ---------------------------------------------------------------------------
53
- /** Left-to-right wipe. */
54
- export const wipeShader = ({ x, width, progress }) => ({
55
- showNext: x / width < progress,
56
- });
57
- /** Random pixel dissolve. */
58
- export const dissolveShader = ({ rand, progress }) => ({
59
- showNext: rand < progress,
60
- });
61
- /** Checkerboard block reveal. */
62
- export const gridShader = ({ x, y, progress }) => {
63
- const gx = Math.floor(x / 8);
64
- const gy = Math.floor(y / 4);
65
- return { showNext: ((gx + gy) % 10) / 10 < progress };
66
- };
67
- /** Hard cut at midpoint. */
68
- export const fadeShader = ({ progress }) => ({
69
- showNext: progress > 0.5,
70
- });
71
- /** Doom-style top-down melt with per-column variation. */
72
- export const meltShader = ({ x, y, height, progress }) => {
73
- const variability = (Math.sin(x * 0.7) * 0.5 + 0.5) * 0.4;
74
- const dropStart = progress * 1.4 - variability;
75
- return { showNext: y / height < dropStart };
76
- };
77
- /** Code rain leading edge with matrix characters. */
78
- export const matrixShader = ({ rand, progress, ctx }) => {
79
- const threshold = progress;
80
- const edge = 0.1;
81
- if (rand < threshold) {
82
- return { showNext: true };
83
- }
84
- if (rand < threshold + edge) {
85
- const chars = '01$#@%&*';
86
- const char = chars[Math.min(Math.floor(rand * 100) % chars.length, chars.length - 1)];
87
- return {
88
- showNext: false,
89
- overrideChar: char,
90
- overrideCell: tokenCell(char, ctx.status('success')),
91
- overrideRole: 'decoration',
92
- };
93
- }
94
- return { showNext: false };
95
- };
96
- /** Scramble noise that resolves at midpoint. */
97
- export const scrambleShader = ({ rand, progress, ctx }) => {
98
- const scrambleAmount = 1 - Math.abs(progress - 0.5) * 2;
99
- if (rand < scrambleAmount * 0.8) {
100
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()';
101
- const char = chars[Math.min(Math.floor(rand * 1000) % chars.length, chars.length - 1)];
102
- return {
103
- showNext: false,
104
- overrideChar: char,
105
- overrideCell: tokenCell(char, ctx.semantic('muted')),
106
- overrideRole: 'decoration',
107
- };
108
- }
109
- return { showNext: progress > 0.5 };
110
- };
111
- // ---------------------------------------------------------------------------
112
- // Shader factories
113
- // ---------------------------------------------------------------------------
114
- /** Directional wipe factory. Default: left-to-right. */
115
- export function wipe(direction = 'right') {
116
- return ({ x, y, width, height, progress }) => {
117
- const t = direction === 'right' ? x / width
118
- : direction === 'left' ? 1 - x / width
119
- : direction === 'down' ? y / height
120
- : 1 - y / height;
121
- return { showNext: t < progress };
122
- };
123
- }
124
- /** Circle expanding from an origin point. Default: center. */
125
- export function radial(originX = 0.5, originY = 0.5) {
126
- return ({ x, y, width, height, progress }) => {
127
- const m = computeOriginMetrics(x, y, width, height, originX, originY);
128
- return { showNext: progress >= 1 || m.normDist < progress };
129
- };
130
- }
131
- /** Diamond/rhombus shape expanding from center. */
132
- export function diamond(originX = 0.5, originY = 0.5) {
133
- return ({ x, y, width, height, progress }) => {
134
- const m = computeOriginMetrics(x, y, width, height, originX, originY);
135
- // Manhattan distance uses absolute deltas
136
- const dist = Math.abs(m.dx) + Math.abs(m.dy);
137
- const maxDist = Math.max(originX, 1 - originX) * m.aspect
138
- + Math.max(originY, 1 - originY);
139
- const normDist = maxDist > 0 ? dist / maxDist : 0;
140
- return { showNext: progress >= 1 || normDist < progress };
141
- };
142
- }
143
- /** Angular sweep that spirals outward from center. */
144
- export function spiral(turns = 3, originX = 0.5, originY = 0.5) {
145
- return ({ x, y, width, height, progress }) => {
146
- const m = computeOriginMetrics(x, y, width, height, originX, originY);
147
- const angle = (Math.atan2(m.dy, m.dx) / (2 * Math.PI) + 0.5) % 1; // [0, 1]
148
- // Combine angle + distance into a spiral threshold
149
- const spiralT = (angle + m.normDist * turns) % 1;
150
- return { showNext: spiralT < progress };
151
- };
152
- }
153
- /** Venetian blinds (horizontal or vertical bands). */
154
- export function blinds(count = 8, direction = 'horizontal') {
155
- return ({ x, y, width, height, progress }) => {
156
- const pos = direction === 'horizontal' ? y / height : x / width;
157
- const band = (pos * count) % 1;
158
- return { showNext: band < progress };
159
- };
160
- }
161
- /** Two halves sliding apart from center (vertical split). */
162
- export function curtain(direction = 'vertical') {
163
- return ({ x, y, width, height, progress }) => {
164
- const pos = direction === 'vertical' ? x / width : y / height;
165
- const distFromCenter = Math.abs(pos - 0.5) * 2; // 0 at center, 1 at edges
166
- return { showNext: progress >= 1 || distFromCenter < progress };
167
- };
168
- }
169
- /** Progressively shrinking block pixelation that resolves to the next page. */
170
- export function pixelate(maxBlockSize = 16) {
171
- return ({ x, y, progress, rand }) => {
172
- // Phase 1 (0–0.5): pixelate the previous page with growing blocks
173
- // Phase 2 (0.5–1): de-pixelate to reveal next page with shrinking blocks
174
- const showNext = progress > 0.5;
175
- const phase = showNext ? 1 - (progress - 0.5) * 2 : progress * 2;
176
- const blockSize = Math.max(1, Math.round(phase * maxBlockSize));
177
- const bx = Math.floor(x / blockSize);
178
- const by = Math.floor(y / blockSize);
179
- // Stable random per block
180
- const blockRand = noise(bx, by, 0);
181
- // Within each block, either all show or all hide (pixelation effect)
182
- if (blockSize <= 1)
183
- return { showNext };
184
- const scramble = phase > 0.3 && blockRand < phase * 0.6;
185
- if (scramble) {
186
- const chars = '░▒▓█';
187
- const char = chars[Math.min(Math.floor(rand * chars.length), chars.length - 1)];
188
- return { showNext: false, overrideChar: char, overrideRole: 'decoration' };
189
- }
190
- return { showNext };
191
- };
192
- }
193
- /**
194
- * Left-to-right, top-to-bottom typewriter reveal.
195
- * Shows a cursor character at the leading edge.
196
- */
197
- export function typewriter(cursor = '▌') {
198
- return ({ x, y, width, height, progress, ctx }) => {
199
- const totalCells = width * height;
200
- const revealed = Math.floor(progress * totalCells);
201
- const cellIndex = y * width + x;
202
- if (cellIndex < revealed)
203
- return { showNext: true };
204
- if (cellIndex === revealed) {
205
- return {
206
- showNext: false,
207
- overrideChar: cursor,
208
- overrideCell: tokenCell(cursor, ctx.status('info')),
209
- overrideRole: 'marker',
210
- };
211
- }
212
- return { showNext: false };
213
- };
214
- }
215
- /**
216
- * Horizontal glitch displacement with RGB-split-style character noise.
217
- * Uses the frame counter for temporal variation.
218
- */
219
- export function glitch(intensity = 0.5) {
220
- return ({ x, y, progress, frame, ctx }) => {
221
- // Glitch peaks at midpoint, ramps up then down
222
- const glitchAmount = (1 - Math.abs(progress - 0.5) * 2) * intensity;
223
- const rowNoise = noise(0, y, frame * 0.3);
224
- // Selected rows show block-char corruption across all their cells
225
- if (rowNoise < glitchAmount * 0.6) {
226
- const glitchChars = '▓░▒█▄▀';
227
- const n = noise(x, y, frame);
228
- const char = glitchChars[Math.min(Math.floor(n * glitchChars.length), glitchChars.length - 1)];
229
- return {
230
- showNext: false,
231
- overrideChar: char,
232
- overrideCell: tokenCell(char, ctx.status('error')),
233
- overrideRole: 'decoration',
234
- };
235
- }
236
- // Scattered cells get individual scramble
237
- const cellNoise = noise(x, y, frame * 0.5);
238
- if (cellNoise < glitchAmount * 0.3) {
239
- const glitchChars = '▓░▒█▄▀╪╫╬';
240
- const char = glitchChars[Math.min(Math.floor(cellNoise * 100) % glitchChars.length, glitchChars.length - 1)];
241
- return {
242
- showNext: false,
243
- overrideChar: char,
244
- overrideCell: tokenCell(char, ctx.status('warning')),
245
- overrideRole: 'decoration',
246
- };
247
- }
248
- return { showNext: progress > 0.5 };
249
- };
250
- }
251
- /**
252
- * TV static noise that clears to reveal the next page.
253
- * Uses the frame counter for flickering.
254
- */
255
- export function tvStatic(density = 0.7) {
256
- return ({ x, y, progress, frame, ctx }) => {
257
- // Static covers the screen then clears to reveal next page
258
- // Phase 1 (0–0.3): static fades in over previous page
259
- // Phase 2 (0.3–0.7): full static
260
- // Phase 3 (0.7–1): static clears to reveal next page
261
- const staticAmount = progress < 0.3
262
- ? progress / 0.3
263
- : progress > 0.7
264
- ? (1 - progress) / 0.3
265
- : 1;
266
- const cellNoise = noise(x, y, frame);
267
- if (cellNoise < staticAmount * density) {
268
- const intensity = noise(x + 1, y + 1, frame);
269
- const chars = ' ░▒▓█';
270
- const char = chars[Math.min(Math.floor(intensity * chars.length), chars.length - 1)];
271
- return {
272
- showNext: false,
273
- overrideChar: char,
274
- overrideCell: tokenCell(char, ctx.semantic('muted')),
275
- overrideRole: 'decoration',
276
- };
277
- }
278
- return { showNext: progress > 0.5 };
279
- };
280
- }
281
- // ---------------------------------------------------------------------------
282
- // Additional built-in instances (zero-config)
283
- // ---------------------------------------------------------------------------
284
- /** Circle expanding from center. */
285
- export const radialShader = radial();
286
- /** Diamond expanding from center. */
287
- export const diamondShader = diamond();
288
- /** Spiral sweep from center. */
289
- export const spiralShader = spiral();
290
- /** 8-band horizontal blinds. */
291
- export const blindsShader = blinds();
292
- /** Vertical curtain split from center. */
293
- export const curtainShader = curtain();
294
- /** Block pixelation with 16px max block size. */
295
- export const pixelateShader = pixelate();
296
- /** Typewriter reveal with ▌ cursor. */
297
- export const typewriterShader = typewriter();
298
- /** Horizontal glitch at 50% intensity. */
299
- export const glitchShader = glitch();
300
- /** TV static noise at 70% density. */
301
- export const staticShader = tvStatic();
302
- // ---------------------------------------------------------------------------
303
- // Combinators
304
- // ---------------------------------------------------------------------------
305
- /**
306
- * Reverse a shader's spatial reveal order.
307
- *
308
- * Cells that would be revealed last are revealed first, and vice versa.
309
- * At progress=0 nothing is revealed; at progress=1 everything is revealed.
310
- */
311
- export function reverse(shader) {
312
- return (cell) => {
313
- const result = shader({ ...cell, progress: 1 - cell.progress });
314
- // Marker overrides (e.g., typewriter cursor) are positional — they become
315
- // stale when progress is remapped. Decoration overrides (glitch noise,
316
- // static blocks) are ambient and survive the reversal.
317
- const keepOverride = (result.overrideChar !== undefined || result.overrideCell !== undefined)
318
- && result.overrideRole !== 'marker';
319
- return keepOverride
320
- ? {
321
- showNext: !result.showNext,
322
- overrideChar: result.overrideChar,
323
- overrideCell: result.overrideCell,
324
- overrideRole: result.overrideRole,
325
- }
326
- : { showNext: !result.showNext };
327
- };
328
- }
329
- /**
330
- * Chain two shaders sequentially: `a` runs during progress [0, 0.5],
331
- * `b` runs during (0.5, 1]. Each sub-shader receives a normalized 0→1
332
- * progress for its half.
333
- *
334
- * **Note:** There is a hard cut at the midpoint — shader `a` completes
335
- * (all cells revealed) then shader `b` starts from scratch (no cells
336
- * revealed). This is intentional for effects like "dissolve out → wipe in"
337
- * but will flash if both shaders reveal in the same direction.
338
- */
339
- export function chain(a, b) {
340
- return (cell) => {
341
- if (cell.progress <= 0.5) {
342
- return a({ ...cell, progress: cell.progress * 2 });
343
- }
344
- return b({ ...cell, progress: (cell.progress - 0.5) * 2 });
345
- };
346
- }
347
- /**
348
- * Overlay two shaders: `top` shader's override wins when present,
349
- * otherwise falls through to `base` shader's result.
350
- *
351
- * `showNext` uses OR semantics — the composite reveals a cell if *either*
352
- * shader reveals it. This means the composite always reveals at least as
353
- * much as either shader alone.
354
- */
355
- export function overlay(base, top) {
356
- return (cell) => {
357
- const topResult = top(cell);
358
- if (topResult.overrideChar !== undefined || topResult.overrideCell !== undefined)
359
- return topResult;
360
- const baseResult = base(cell);
361
- return {
362
- showNext: topResult.showNext || baseResult.showNext,
363
- overrideChar: baseResult.overrideChar,
364
- overrideCell: baseResult.overrideCell,
365
- overrideRole: baseResult.overrideRole,
366
- };
367
- };
368
- }
369
- // ---------------------------------------------------------------------------
370
- // Registry
371
- // ---------------------------------------------------------------------------
372
- /** Registry mapping built-in transition names to shader functions. `none` maps to `undefined`. */
373
- export const TRANSITION_SHADERS = {
374
- none: undefined,
375
- wipe: wipeShader,
376
- dissolve: dissolveShader,
377
- grid: gridShader,
378
- fade: fadeShader,
379
- melt: meltShader,
380
- matrix: matrixShader,
381
- scramble: scrambleShader,
382
- radial: radialShader,
383
- diamond: diamondShader,
384
- spiral: spiralShader,
385
- blinds: blindsShader,
386
- curtain: curtainShader,
387
- pixelate: pixelateShader,
388
- typewriter: typewriterShader,
389
- glitch: glitchShader,
390
- static: staticShader,
391
- };
1
+ export { dissolveShader, wipeShader } from './transition-shaders.part01.js';
2
+ export { blinds, diamond, fadeShader, gridShader, matrixShader, meltShader, radial, scrambleShader, spiral, wipe } from './transition-shaders.part02.js';
3
+ export { curtain, glitch, pixelate, typewriter } from './transition-shaders.part03.js';
4
+ export { TRANSITION_SHADERS, blindsShader, chain, curtainShader, diamondShader, glitchShader, overlay, pixelateShader, radialShader, reverse, spiralShader, staticShader, tvStatic, typewriterShader } from './transition-shaders.part04.js';
392
5
  //# sourceMappingURL=transition-shaders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transition-shaders.js","sourceRoot":"","sources":["../src/transition-shaders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transition-shaders.js","sourceRoot":"","sources":["../src/transition-shaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACzJ,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,41 @@
1
+ import type { BijouContext, Cell, TokenValue } from '@flyingrobots/bijou';
2
+ export interface TransitionCell {
3
+ readonly x: number;
4
+ readonly y: number;
5
+ readonly width: number;
6
+ readonly height: number;
7
+ readonly progress: number;
8
+ /** Stable pseudo-random [0, 1] based on coordinates — constant across frames. */
9
+ readonly rand: number;
10
+ /** Monotonic frame counter for temporal effects (glitch, static, etc.). */
11
+ readonly frame: number;
12
+ readonly ctx: BijouContext;
13
+ }
14
+ export type TransitionOverrideRole = 'decoration' | 'marker';
15
+ export interface TransitionResult {
16
+ readonly showNext: boolean;
17
+ readonly overrideChar?: string;
18
+ /** Surface-native override cell. Merged on top of the selected base cell. */
19
+ readonly overrideCell?: Cell;
20
+ /** Semantic role of the override. Defaults to `'decoration'` if omitted. */
21
+ readonly overrideRole?: TransitionOverrideRole;
22
+ }
23
+ export type TransitionShaderFn = (cell: TransitionCell) => TransitionResult;
24
+ export type WipeDirection = 'left' | 'right' | 'up' | 'down';
25
+ export type BuiltinTransition = 'none' | 'wipe' | 'dissolve' | 'grid' | 'fade' | 'melt' | 'matrix' | 'scramble' | 'radial' | 'diamond' | 'spiral' | 'blinds' | 'curtain' | 'pixelate' | 'typewriter' | 'glitch' | 'static';
26
+ export declare function tokenCell(char: string, token: TokenValue): Cell;
27
+ export declare function noise(x: number, y: number, seed: number): number;
28
+ export interface OriginMetrics {
29
+ readonly nx: number;
30
+ readonly ny: number;
31
+ readonly aspect: number;
32
+ readonly dx: number;
33
+ readonly dy: number;
34
+ readonly dist: number;
35
+ readonly maxDist: number;
36
+ readonly normDist: number;
37
+ }
38
+ export declare function computeOriginMetrics(x: number, y: number, width: number, height: number, originX: number, originY: number): OriginMetrics;
39
+ export declare const wipeShader: TransitionShaderFn;
40
+ export declare const dissolveShader: TransitionShaderFn;
41
+ //# sourceMappingURL=transition-shaders.part01.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-shaders.part01.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part01.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;CAC5B;AACD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;CAChD;AACD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,gBAAgB,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,QAAQ,CAAC;AACb,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAW/D;AACD,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIhE;AACD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EACnD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAC/B,aAAa,CAaf;AACD,eAAO,MAAM,UAAU,EAAE,kBAEvB,CAAC;AACH,eAAO,MAAM,cAAc,EAAE,kBAE3B,CAAC"}
@@ -0,0 +1,38 @@
1
+ export function tokenCell(char, token) {
2
+ const cell = {
3
+ char,
4
+ fg: token.hex,
5
+ bg: token.bg,
6
+ modifiers: token.modifiers ? [...token.modifiers] : [],
7
+ empty: false,
8
+ };
9
+ if (token.fgRGB)
10
+ cell.fgRGB = token.fgRGB;
11
+ if (token.bgRGB)
12
+ cell.bgRGB = token.bgRGB;
13
+ return cell;
14
+ }
15
+ export function noise(x, y, seed) {
16
+ // Constant offset (7.31) breaks the degenerate fixed point at (0, 0, 0).
17
+ const v = Math.sin(x * 12.9898 + y * 78.233 + seed * 43.7585 + 7.31) * 43758.5453;
18
+ return v - Math.floor(v);
19
+ }
20
+ export function computeOriginMetrics(x, y, width, height, originX, originY) {
21
+ const nx = x / width;
22
+ const ny = y / height;
23
+ const aspect = width / Math.max(1, height) * 0.5; // chars are ~2:1 tall
24
+ const dx = (nx - originX) * aspect;
25
+ const dy = ny - originY;
26
+ const dist = Math.sqrt(dx * dx + dy * dy);
27
+ const maxDist = Math.sqrt(Math.max(originX, 1 - originX) ** 2 * aspect * aspect
28
+ + Math.max(originY, 1 - originY) ** 2);
29
+ const normDist = maxDist > 0 ? dist / maxDist : 0;
30
+ return { nx, ny, aspect, dx, dy, dist, maxDist, normDist };
31
+ }
32
+ export const wipeShader = ({ x, width, progress }) => ({
33
+ showNext: x / width < progress,
34
+ });
35
+ export const dissolveShader = ({ rand, progress }) => ({
36
+ showNext: rand < progress,
37
+ });
38
+ //# sourceMappingURL=transition-shaders.part01.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-shaders.part01.js","sourceRoot":"","sources":["../src/transition-shaders.part01.ts"],"names":[],"mappings":"AA0CA,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAiB;IACvD,MAAM,IAAI,GAAS;QACjB,IAAI;QACJ,EAAE,EAAE,KAAK,CAAC,GAAG;QACb,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,KAAK,EAAE,KAAK;KACb,CAAC;IACF,IAAI,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1C,IAAI,KAAK,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,IAAY;IACtD,yEAAyE;IACzE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAClF,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAWD,MAAM,UAAU,oBAAoB,CAClC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EACnD,OAAe,EAAE,OAAe;IAEhC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACtB,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,sBAAsB;IACxE,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC;IACnC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM;UACnD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CACtC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC;AACD,MAAM,CAAC,MAAM,UAAU,GAAuB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAG,QAAQ;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,cAAc,GAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,QAAQ,EAAE,IAAI,GAAG,QAAQ;CAC1B,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { TransitionShaderFn, WipeDirection } from './transition-shaders.part01.js';
2
+ export declare const gridShader: TransitionShaderFn;
3
+ export declare const fadeShader: TransitionShaderFn;
4
+ export declare const meltShader: TransitionShaderFn;
5
+ export declare const matrixShader: TransitionShaderFn;
6
+ export declare const scrambleShader: TransitionShaderFn;
7
+ export declare function wipe(direction?: WipeDirection): TransitionShaderFn;
8
+ export declare function radial(originX?: number, originY?: number): TransitionShaderFn;
9
+ export declare function diamond(originX?: number, originY?: number): TransitionShaderFn;
10
+ export declare function spiral(turns?: number, originX?: number, originY?: number): TransitionShaderFn;
11
+ export declare function blinds(count?: number, direction?: 'horizontal' | 'vertical'): TransitionShaderFn;
12
+ //# sourceMappingURL=transition-shaders.part02.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-shaders.part02.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part02.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACxF,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,kBAEvB,CAAC;AACH,eAAO,MAAM,UAAU,EAAE,kBAIxB,CAAC;AACF,eAAO,MAAM,YAAY,EAAE,kBAiB1B,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,kBAa5B,CAAC;AACF,wBAAgB,IAAI,CAAC,SAAS,GAAE,aAAuB,GAAG,kBAAkB,CAQ3E;AACD,wBAAgB,MAAM,CAAC,OAAO,SAAM,EAAE,OAAO,SAAM,GAAG,kBAAkB,CAKvE;AACD,wBAAgB,OAAO,CAAC,OAAO,SAAM,EAAE,OAAO,SAAM,GAAG,kBAAkB,CASxE;AACD,wBAAgB,MAAM,CAAC,KAAK,SAAI,EAAE,OAAO,SAAM,EAAE,OAAO,SAAM,GAAG,kBAAkB,CAQlF;AACD,wBAAgB,MAAM,CACpB,KAAK,SAAI,EACT,SAAS,GAAE,YAAY,GAAG,UAAyB,GAClD,kBAAkB,CAMpB"}
@@ -0,0 +1,88 @@
1
+ import { computeOriginMetrics, tokenCell } from './transition-shaders.part01.js';
2
+ export const gridShader = ({ x, y, progress }) => {
3
+ const gx = Math.floor(x / 8);
4
+ const gy = Math.floor(y / 4);
5
+ return { showNext: ((gx + gy) % 10) / 10 < progress };
6
+ };
7
+ export const fadeShader = ({ progress }) => ({
8
+ showNext: progress > 0.5,
9
+ });
10
+ export const meltShader = ({ x, y, height, progress }) => {
11
+ const variability = (Math.sin(x * 0.7) * 0.5 + 0.5) * 0.4;
12
+ const dropStart = progress * 1.4 - variability;
13
+ return { showNext: y / height < dropStart };
14
+ };
15
+ export const matrixShader = ({ rand, progress, ctx }) => {
16
+ const threshold = progress;
17
+ const edge = 0.1;
18
+ if (rand < threshold) {
19
+ return { showNext: true };
20
+ }
21
+ if (rand < threshold + edge) {
22
+ const chars = '01$#@%&*';
23
+ const char = chars.charAt(Math.min(Math.floor(rand * 100) % chars.length, chars.length - 1));
24
+ return {
25
+ showNext: false,
26
+ overrideChar: char,
27
+ overrideCell: tokenCell(char, ctx.status('success')),
28
+ overrideRole: 'decoration',
29
+ };
30
+ }
31
+ return { showNext: false };
32
+ };
33
+ export const scrambleShader = ({ rand, progress, ctx }) => {
34
+ const scrambleAmount = 1 - Math.abs(progress - 0.5) * 2;
35
+ if (rand < scrambleAmount * 0.8) {
36
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()';
37
+ const char = chars.charAt(Math.min(Math.floor(rand * 1000) % chars.length, chars.length - 1));
38
+ return {
39
+ showNext: false,
40
+ overrideChar: char,
41
+ overrideCell: tokenCell(char, ctx.semantic('muted')),
42
+ overrideRole: 'decoration',
43
+ };
44
+ }
45
+ return { showNext: progress > 0.5 };
46
+ };
47
+ export function wipe(direction = 'right') {
48
+ return ({ x, y, width, height, progress }) => {
49
+ const t = direction === 'right' ? x / width
50
+ : direction === 'left' ? 1 - x / width
51
+ : direction === 'down' ? y / height
52
+ : 1 - y / height;
53
+ return { showNext: t < progress };
54
+ };
55
+ }
56
+ export function radial(originX = 0.5, originY = 0.5) {
57
+ return ({ x, y, width, height, progress }) => {
58
+ const m = computeOriginMetrics(x, y, width, height, originX, originY);
59
+ return { showNext: progress >= 1 || m.normDist < progress };
60
+ };
61
+ }
62
+ export function diamond(originX = 0.5, originY = 0.5) {
63
+ return ({ x, y, width, height, progress }) => {
64
+ const m = computeOriginMetrics(x, y, width, height, originX, originY);
65
+ const dist = Math.abs(m.dx) + Math.abs(m.dy);
66
+ const maxDist = Math.max(originX, 1 - originX) * m.aspect
67
+ + Math.max(originY, 1 - originY);
68
+ const normDist = maxDist > 0 ? dist / maxDist : 0;
69
+ return { showNext: progress >= 1 || normDist < progress };
70
+ };
71
+ }
72
+ export function spiral(turns = 3, originX = 0.5, originY = 0.5) {
73
+ return ({ x, y, width, height, progress }) => {
74
+ const m = computeOriginMetrics(x, y, width, height, originX, originY);
75
+ const angle = (Math.atan2(m.dy, m.dx) / (2 * Math.PI) + 0.5) % 1; // [0, 1]
76
+ // Combine angle + distance into a spiral threshold
77
+ const spiralT = (angle + m.normDist * turns) % 1;
78
+ return { showNext: spiralT < progress };
79
+ };
80
+ }
81
+ export function blinds(count = 8, direction = 'horizontal') {
82
+ return ({ x, y, width, height, progress }) => {
83
+ const pos = direction === 'horizontal' ? y / height : x / width;
84
+ const band = (pos * count) % 1;
85
+ return { showNext: band < progress };
86
+ };
87
+ }
88
+ //# sourceMappingURL=transition-shaders.part02.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-shaders.part02.js","sourceRoot":"","sources":["../src/transition-shaders.part02.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { TransitionShaderFn } from './transition-shaders.part01.js';
2
+ export declare function curtain(direction?: 'horizontal' | 'vertical'): TransitionShaderFn;
3
+ export declare function pixelate(maxBlockSize?: number): TransitionShaderFn;
4
+ export declare function typewriter(cursor?: string): TransitionShaderFn;
5
+ export declare function glitch(intensity?: number): TransitionShaderFn;
6
+ //# sourceMappingURL=transition-shaders.part03.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-shaders.part03.d.ts","sourceRoot":"","sources":["../src/transition-shaders.part03.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,wBAAgB,OAAO,CAAC,SAAS,GAAE,YAAY,GAAG,UAAuB,GAAG,kBAAkB,CAM7F;AACD,wBAAgB,QAAQ,CAAC,YAAY,SAAK,GAAG,kBAAkB,CAqB9D;AACD,wBAAgB,UAAU,CAAC,MAAM,SAAM,GAAG,kBAAkB,CAgB3D;AACD,wBAAgB,MAAM,CAAC,SAAS,SAAM,GAAG,kBAAkB,CAkC1D"}