gl-transitions 1.74.0 → 1.76.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 (389) hide show
  1. package/README.md +78 -0
  2. package/compatibility.json +2070 -0
  3. package/glsl3/AdvancedMosaic.glsl +21 -0
  4. package/glsl3/BlockDissolve.glsl +16 -0
  5. package/glsl3/BookFlip.glsl +37 -0
  6. package/glsl3/Bounce.glsl +35 -0
  7. package/glsl3/BowTieHorizontal.glsl +123 -0
  8. package/glsl3/BowTieVertical.glsl +117 -0
  9. package/glsl3/BowTieWithParameter.glsl +74 -0
  10. package/glsl3/Box.glsl +33 -0
  11. package/glsl3/ButterflyWaveScrawler.glsl +33 -0
  12. package/glsl3/CircleCrop.glsl +20 -0
  13. package/glsl3/ColourDistance.glsl +19 -0
  14. package/glsl3/CrazyParametricFun.glsl +20 -0
  15. package/glsl3/CrossZoom.glsl +68 -0
  16. package/glsl3/DefocusBlur.glsl +47 -0
  17. package/glsl3/Directional.glsl +18 -0
  18. package/glsl3/DirectionalScaled.glsl +35 -0
  19. package/glsl3/DoomScreenTransition.glsl +62 -0
  20. package/glsl3/Dreamy.glsl +14 -0
  21. package/glsl3/DreamyZoom.glsl +43 -0
  22. package/glsl3/Drop_Zone_Flicker.glsl +159 -0
  23. package/glsl3/EdgeTransition.glsl +50 -0
  24. package/glsl3/FilmBurn.glsl +63 -0
  25. package/glsl3/Fold.glsl +12 -0
  26. package/glsl3/GlitchDisplace.glsl +78 -0
  27. package/glsl3/GlitchMemories.glsl +17 -0
  28. package/glsl3/GridFlip.glsl +77 -0
  29. package/glsl3/HSVfade.glsl +29 -0
  30. package/glsl3/HorizontalClose.glsl +16 -0
  31. package/glsl3/HorizontalOpen.glsl +18 -0
  32. package/glsl3/InvertedPageCurl.glsl +228 -0
  33. package/glsl3/LeftRight.glsl +28 -0
  34. package/glsl3/LinearBlur.glsl +30 -0
  35. package/glsl3/Mosaic.glsl +45 -0
  36. package/glsl3/Overexposure.glsl +25 -0
  37. package/glsl3/PolkaDotsCurtain.glsl +14 -0
  38. package/glsl3/PuzzleRight.glsl +57 -0
  39. package/glsl3/Radial.glsl +19 -0
  40. package/glsl3/Rectangle.glsl +29 -0
  41. package/glsl3/RectangleCrop.glsl +30 -0
  42. package/glsl3/Revolve_Left.glsl +98 -0
  43. package/glsl3/Rolls.glsl +42 -0
  44. package/glsl3/RotateScaleVanish.glsl +42 -0
  45. package/glsl3/SimpleFlip.glsl +14 -0
  46. package/glsl3/SimpleZoom.glsl +20 -0
  47. package/glsl3/SimpleZoomOut.glsl +23 -0
  48. package/glsl3/Slides.glsl +41 -0
  49. package/glsl3/StarWipe.glsl +51 -0
  50. package/glsl3/StaticFade.glsl +47 -0
  51. package/glsl3/StereoViewer.glsl +214 -0
  52. package/glsl3/StripDatamoshGlitch.glsl +187 -0
  53. package/glsl3/Swirl.glsl +34 -0
  54. package/glsl3/TVStatic.glsl +29 -0
  55. package/glsl3/TilesWave.glsl +63 -0
  56. package/glsl3/TopBottom.glsl +27 -0
  57. package/glsl3/VerticalClose.glsl +16 -0
  58. package/glsl3/VerticalOpen.glsl +17 -0
  59. package/glsl3/WaterDrop.glsl +21 -0
  60. package/glsl3/ZoomInCircles.glsl +40 -0
  61. package/glsl3/ZoomLeftWipe.glsl +36 -0
  62. package/glsl3/ZoomRigthWipe.glsl +36 -0
  63. package/glsl3/angular.glsl +25 -0
  64. package/glsl3/burn.glsl +14 -0
  65. package/glsl3/burn0.glsl +55 -0
  66. package/glsl3/cannabisleaf.glsl +18 -0
  67. package/glsl3/chessboard.glsl +28 -0
  68. package/glsl3/circle.glsl +24 -0
  69. package/glsl3/circleopen.glsl +18 -0
  70. package/glsl3/colorphase.glsl +19 -0
  71. package/glsl3/coord-from-in.glsl +18 -0
  72. package/glsl3/crosshatch.glsl +20 -0
  73. package/glsl3/crosswarp.glsl +10 -0
  74. package/glsl3/cube.glsl +71 -0
  75. package/glsl3/directional-easing.glsl +19 -0
  76. package/glsl3/directionalwarp.glsl +20 -0
  77. package/glsl3/directionalwipe.glsl +22 -0
  78. package/glsl3/displacement.glsl +26 -0
  79. package/glsl3/dissolve.glsl +54 -0
  80. package/glsl3/doorway.glsl +55 -0
  81. package/glsl3/fade.glsl +13 -0
  82. package/glsl3/fadecolor.glsl +15 -0
  83. package/glsl3/fadegrayscale.glsl +21 -0
  84. package/glsl3/flyeye.glsl +20 -0
  85. package/glsl3/fragment.glsl +54 -0
  86. package/glsl3/heart.glsl +19 -0
  87. package/glsl3/hexagonalize.glsl +78 -0
  88. package/glsl3/kaleidoscope.glsl +25 -0
  89. package/glsl3/luma.glsl +15 -0
  90. package/glsl3/luminance_melt.glsl +131 -0
  91. package/glsl3/morph.glsl +20 -0
  92. package/glsl3/mosaic_transition.glsl +20 -0
  93. package/glsl3/multiply_blend.glsl +19 -0
  94. package/glsl3/old_tv_lost_signal.glsl +51 -0
  95. package/glsl3/parametric_glitch.glsl +29 -0
  96. package/glsl3/perlin.glsl +66 -0
  97. package/glsl3/pinwheel.glsl +20 -0
  98. package/glsl3/pixelize.glsl +21 -0
  99. package/glsl3/polar_function.glsl +24 -0
  100. package/glsl3/powerKaleido.glsl +57 -0
  101. package/glsl3/randomNoisex.glsl +15 -0
  102. package/glsl3/randomsquares.glsl +20 -0
  103. package/glsl3/ripple.glsl +20 -0
  104. package/glsl3/rotateTransition.glsl +22 -0
  105. package/glsl3/rotate_scale_fade.glsl +39 -0
  106. package/glsl3/scale-in.glsl +18 -0
  107. package/glsl3/splitSlideInHorizontal.glsl +26 -0
  108. package/glsl3/splitSlideInOutHorizontal.glsl +23 -0
  109. package/glsl3/splitSlideInOutVertical.glsl +23 -0
  110. package/glsl3/splitSlideInVertical.glsl +24 -0
  111. package/glsl3/splitSlideOutHorizontal.glsl +22 -0
  112. package/glsl3/splitSlideOutVertical.glsl +22 -0
  113. package/glsl3/squareswire.glsl +26 -0
  114. package/glsl3/squeeze.glsl +23 -0
  115. package/glsl3/static_wipe.glsl +39 -0
  116. package/glsl3/swap.glsl +64 -0
  117. package/glsl3/tangentMotionBlur.glsl +139 -0
  118. package/glsl3/undulatingBurnOut.glsl +56 -0
  119. package/glsl3/wind.glsl +25 -0
  120. package/glsl3/windowblinds.glsl +18 -0
  121. package/glsl3/windowslice.glsl +16 -0
  122. package/glsl3/wipeDown.glsl +12 -0
  123. package/glsl3/wipeLeft.glsl +12 -0
  124. package/glsl3/wipeRight.glsl +12 -0
  125. package/glsl3/wipeUp.glsl +12 -0
  126. package/glsl3/x_axis_translation.glsl +21 -0
  127. package/glsl3/zoomInOut.glsl +20 -0
  128. package/index.d.ts +61 -0
  129. package/layouts.json +2956 -0
  130. package/llms-full.txt +1707 -0
  131. package/llms.txt +153 -0
  132. package/msl/AdvancedMosaic.metal +136 -0
  133. package/msl/BlockDissolve.metal +108 -0
  134. package/msl/BookFlip.metal +191 -0
  135. package/msl/Bounce.metal +128 -0
  136. package/msl/BowTieHorizontal.metal +375 -0
  137. package/msl/BowTieVertical.metal +375 -0
  138. package/msl/BowTieWithParameter.metal +361 -0
  139. package/msl/Box.metal +204 -0
  140. package/msl/ButterflyWaveScrawler.metal +190 -0
  141. package/msl/CircleCrop.metal +117 -0
  142. package/msl/ColourDistance.metal +110 -0
  143. package/msl/CrazyParametricFun.metal +139 -0
  144. package/msl/CrossZoom.metal +274 -0
  145. package/msl/DefocusBlur.metal +297 -0
  146. package/msl/Directional.metal +107 -0
  147. package/msl/DirectionalScaled.metal +147 -0
  148. package/msl/DoomScreenTransition.metal +212 -0
  149. package/msl/Dreamy.metal +133 -0
  150. package/msl/DreamyZoom.metal +182 -0
  151. package/msl/Drop_Zone_Flicker.metal +561 -0
  152. package/msl/EdgeTransition.metal +277 -0
  153. package/msl/FilmBurn.metal +425 -0
  154. package/msl/Fold.metal +110 -0
  155. package/msl/GlitchDisplace.metal +374 -0
  156. package/msl/GlitchMemories.metal +146 -0
  157. package/msl/GridFlip.metal +285 -0
  158. package/msl/HSVfade.metal +161 -0
  159. package/msl/HorizontalClose.metal +100 -0
  160. package/msl/HorizontalOpen.metal +103 -0
  161. package/msl/InvertedPageCurl.metal +762 -0
  162. package/msl/LeftRight.metal +138 -0
  163. package/msl/LinearBlur.metal +169 -0
  164. package/msl/Mosaic.metal +212 -0
  165. package/msl/Overexposure.metal +130 -0
  166. package/msl/PolkaDotsCurtain.metal +112 -0
  167. package/msl/PuzzleRight.metal +262 -0
  168. package/msl/Radial.metal +102 -0
  169. package/msl/Rectangle.metal +129 -0
  170. package/msl/RectangleCrop.metal +127 -0
  171. package/msl/Revolve_Left.metal +363 -0
  172. package/msl/Rolls.metal +209 -0
  173. package/msl/RotateScaleVanish.metal +227 -0
  174. package/msl/SimpleFlip.metal +110 -0
  175. package/msl/SimpleZoom.metal +116 -0
  176. package/msl/SimpleZoomOut.metal +127 -0
  177. package/msl/Slides.metal +244 -0
  178. package/msl/StarWipe.metal +204 -0
  179. package/msl/StaticFade.metal +193 -0
  180. package/msl/StereoViewer.metal +707 -0
  181. package/msl/StripDatamoshGlitch.metal +828 -0
  182. package/msl/Swirl.metal +152 -0
  183. package/msl/TVStatic.metal +136 -0
  184. package/msl/TilesWave.metal +290 -0
  185. package/msl/TopBottom.metal +138 -0
  186. package/msl/VerticalClose.metal +100 -0
  187. package/msl/VerticalOpen.metal +103 -0
  188. package/msl/WaterDrop.metal +126 -0
  189. package/msl/ZoomInCircles.metal +169 -0
  190. package/msl/ZoomLeftWipe.metal +152 -0
  191. package/msl/ZoomRigthWipe.metal +152 -0
  192. package/msl/angular.metal +111 -0
  193. package/msl/burn.metal +103 -0
  194. package/msl/burn0.metal +236 -0
  195. package/msl/cannabisleaf.metal +120 -0
  196. package/msl/chessboard.metal +144 -0
  197. package/msl/circle.metal +115 -0
  198. package/msl/circleopen.metal +124 -0
  199. package/msl/colorphase.metal +106 -0
  200. package/msl/coord-from-in.metal +111 -0
  201. package/msl/crosshatch.metal +126 -0
  202. package/msl/crosswarp.metal +103 -0
  203. package/msl/cube.metal +259 -0
  204. package/msl/directional-easing.metal +111 -0
  205. package/msl/directionalwarp.metal +121 -0
  206. package/msl/directionalwipe.metal +120 -0
  207. package/msl/displacement.metal +129 -0
  208. package/msl/dissolve.metal +146 -0
  209. package/msl/doorway.metal +210 -0
  210. package/msl/fade.metal +95 -0
  211. package/msl/fadecolor.metal +104 -0
  212. package/msl/fadegrayscale.metal +123 -0
  213. package/msl/flyeye.metal +133 -0
  214. package/msl/fragment.metal +276 -0
  215. package/msl/heart.metal +134 -0
  216. package/msl/hexagonalize.metal +274 -0
  217. package/msl/kaleidoscope.metal +157 -0
  218. package/msl/luma.metal +113 -0
  219. package/msl/luminance_melt.metal +337 -0
  220. package/msl/morph.metal +131 -0
  221. package/msl/mosaic_transition.metal +137 -0
  222. package/msl/multiply_blend.metal +127 -0
  223. package/msl/old_tv_lost_signal.metal +172 -0
  224. package/msl/parametric_glitch.metal +152 -0
  225. package/msl/perlin.metal +206 -0
  226. package/msl/pinwheel.metal +112 -0
  227. package/msl/pixelize.metal +134 -0
  228. package/msl/polar_function.metal +116 -0
  229. package/msl/powerKaleido.metal +304 -0
  230. package/msl/randomNoisex.metal +115 -0
  231. package/msl/randomsquares.metal +118 -0
  232. package/msl/ripple.metal +113 -0
  233. package/msl/rotateTransition.metal +116 -0
  234. package/msl/rotate_scale_fade.metal +167 -0
  235. package/msl/scale-in.metal +111 -0
  236. package/msl/splitSlideInHorizontal.metal +147 -0
  237. package/msl/splitSlideInOutHorizontal.metal +138 -0
  238. package/msl/splitSlideInOutVertical.metal +138 -0
  239. package/msl/splitSlideInVertical.metal +144 -0
  240. package/msl/splitSlideOutHorizontal.metal +131 -0
  241. package/msl/splitSlideOutVertical.metal +131 -0
  242. package/msl/squareswire.metal +144 -0
  243. package/msl/squeeze.metal +133 -0
  244. package/msl/static_wipe.metal +147 -0
  245. package/msl/swap.metal +256 -0
  246. package/msl/tangentMotionBlur.metal +583 -0
  247. package/msl/undulatingBurnOut.metal +217 -0
  248. package/msl/wind.metal +131 -0
  249. package/msl/windowblinds.metal +107 -0
  250. package/msl/windowslice.metal +108 -0
  251. package/msl/wipeDown.metal +105 -0
  252. package/msl/wipeLeft.metal +105 -0
  253. package/msl/wipeRight.metal +105 -0
  254. package/msl/wipeUp.metal +105 -0
  255. package/msl/x_axis_translation.metal +110 -0
  256. package/msl/zoomInOut.metal +125 -0
  257. package/package.json +1 -1
  258. package/skills/gl-transitions/SKILL.md +46 -0
  259. package/skills/gl-transitions/references/catalog.md +224 -0
  260. package/skills/gl-transitions/references/skia.md +118 -0
  261. package/skills/gl-transitions/references/video.md +71 -0
  262. package/skills/gl-transitions/references/webgl.md +122 -0
  263. package/sksl/index.d.ts +4 -0
  264. package/sksl/index.js +1 -0
  265. package/wgsl/AdvancedMosaic.wgsl +108 -0
  266. package/wgsl/BlockDissolve.wgsl +78 -0
  267. package/wgsl/BookFlip.wgsl +157 -0
  268. package/wgsl/Bounce.wgsl +98 -0
  269. package/wgsl/BowTieHorizontal.wgsl +331 -0
  270. package/wgsl/BowTieVertical.wgsl +331 -0
  271. package/wgsl/BowTieWithParameter.wgsl +313 -0
  272. package/wgsl/Box.wgsl +176 -0
  273. package/wgsl/ButterflyWaveScrawler.wgsl +158 -0
  274. package/wgsl/CircleCrop.wgsl +88 -0
  275. package/wgsl/ColourDistance.wgsl +82 -0
  276. package/wgsl/CrazyParametricFun.wgsl +111 -0
  277. package/wgsl/CrossZoom.wgsl +219 -0
  278. package/wgsl/DefocusBlur.wgsl +269 -0
  279. package/wgsl/Directional.wgsl +79 -0
  280. package/wgsl/DirectionalScaled.wgsl +117 -0
  281. package/wgsl/DoomScreenTransition.wgsl +171 -0
  282. package/wgsl/Dreamy.wgsl +102 -0
  283. package/wgsl/DreamyZoom.wgsl +154 -0
  284. package/wgsl/Drop_Zone_Flicker.wgsl +513 -0
  285. package/wgsl/EdgeTransition.wgsl +216 -0
  286. package/wgsl/FilmBurn.wgsl +361 -0
  287. package/wgsl/Fold.wgsl +82 -0
  288. package/wgsl/GlitchDisplace.wgsl +327 -0
  289. package/wgsl/GlitchMemories.wgsl +118 -0
  290. package/wgsl/GridFlip.wgsl +250 -0
  291. package/wgsl/HSVfade.wgsl +131 -0
  292. package/wgsl/HorizontalClose.wgsl +72 -0
  293. package/wgsl/HorizontalOpen.wgsl +75 -0
  294. package/wgsl/InvertedPageCurl.wgsl +690 -0
  295. package/wgsl/LeftRight.wgsl +109 -0
  296. package/wgsl/LinearBlur.wgsl +131 -0
  297. package/wgsl/Mosaic.wgsl +174 -0
  298. package/wgsl/Overexposure.wgsl +102 -0
  299. package/wgsl/PolkaDotsCurtain.wgsl +83 -0
  300. package/wgsl/PuzzleRight.wgsl +230 -0
  301. package/wgsl/Radial.wgsl +74 -0
  302. package/wgsl/Rectangle.wgsl +100 -0
  303. package/wgsl/RectangleCrop.wgsl +98 -0
  304. package/wgsl/Revolve_Left.wgsl +314 -0
  305. package/wgsl/Rolls.wgsl +181 -0
  306. package/wgsl/RotateScaleVanish.wgsl +199 -0
  307. package/wgsl/SimpleFlip.wgsl +82 -0
  308. package/wgsl/SimpleZoom.wgsl +85 -0
  309. package/wgsl/SimpleZoomOut.wgsl +96 -0
  310. package/wgsl/Slides.wgsl +216 -0
  311. package/wgsl/StarWipe.wgsl +169 -0
  312. package/wgsl/StaticFade.wgsl +159 -0
  313. package/wgsl/StereoViewer.wgsl +625 -0
  314. package/wgsl/StripDatamoshGlitch.wgsl +755 -0
  315. package/wgsl/Swirl.wgsl +124 -0
  316. package/wgsl/TVStatic.wgsl +106 -0
  317. package/wgsl/TilesWave.wgsl +262 -0
  318. package/wgsl/TopBottom.wgsl +109 -0
  319. package/wgsl/VerticalClose.wgsl +72 -0
  320. package/wgsl/VerticalOpen.wgsl +75 -0
  321. package/wgsl/WaterDrop.wgsl +98 -0
  322. package/wgsl/ZoomInCircles.wgsl +138 -0
  323. package/wgsl/ZoomLeftWipe.wgsl +121 -0
  324. package/wgsl/ZoomRigthWipe.wgsl +121 -0
  325. package/wgsl/angular.wgsl +83 -0
  326. package/wgsl/burn.wgsl +74 -0
  327. package/wgsl/burn0.wgsl +198 -0
  328. package/wgsl/cannabisleaf.wgsl +92 -0
  329. package/wgsl/chessboard.wgsl +116 -0
  330. package/wgsl/circle.wgsl +87 -0
  331. package/wgsl/circleopen.wgsl +96 -0
  332. package/wgsl/colorphase.wgsl +77 -0
  333. package/wgsl/coord-from-in.wgsl +83 -0
  334. package/wgsl/crosshatch.wgsl +96 -0
  335. package/wgsl/crosswarp.wgsl +75 -0
  336. package/wgsl/cube.wgsl +217 -0
  337. package/wgsl/directional-easing.wgsl +83 -0
  338. package/wgsl/directionalwarp.wgsl +92 -0
  339. package/wgsl/directionalwipe.wgsl +91 -0
  340. package/wgsl/displacement.wgsl +96 -0
  341. package/wgsl/dissolve.wgsl +116 -0
  342. package/wgsl/doorway.wgsl +174 -0
  343. package/wgsl/fade.wgsl +67 -0
  344. package/wgsl/fadecolor.wgsl +75 -0
  345. package/wgsl/fadegrayscale.wgsl +93 -0
  346. package/wgsl/flyeye.wgsl +105 -0
  347. package/wgsl/fragment.wgsl +227 -0
  348. package/wgsl/heart.wgsl +103 -0
  349. package/wgsl/hexagonalize.wgsl +238 -0
  350. package/wgsl/kaleidoscope.wgsl +124 -0
  351. package/wgsl/luma.wgsl +80 -0
  352. package/wgsl/luminance_melt.wgsl +299 -0
  353. package/wgsl/morph.wgsl +103 -0
  354. package/wgsl/mosaic_transition.wgsl +107 -0
  355. package/wgsl/multiply_blend.wgsl +96 -0
  356. package/wgsl/old_tv_lost_signal.wgsl +142 -0
  357. package/wgsl/parametric_glitch.wgsl +124 -0
  358. package/wgsl/perlin.wgsl +174 -0
  359. package/wgsl/pinwheel.wgsl +84 -0
  360. package/wgsl/pixelize.wgsl +105 -0
  361. package/wgsl/polar_function.wgsl +88 -0
  362. package/wgsl/powerKaleido.wgsl +254 -0
  363. package/wgsl/randomNoisex.wgsl +85 -0
  364. package/wgsl/randomsquares.wgsl +87 -0
  365. package/wgsl/ripple.wgsl +85 -0
  366. package/wgsl/rotateTransition.wgsl +85 -0
  367. package/wgsl/rotate_scale_fade.wgsl +138 -0
  368. package/wgsl/scale-in.wgsl +79 -0
  369. package/wgsl/splitSlideInHorizontal.wgsl +118 -0
  370. package/wgsl/splitSlideInOutHorizontal.wgsl +109 -0
  371. package/wgsl/splitSlideInOutVertical.wgsl +109 -0
  372. package/wgsl/splitSlideInVertical.wgsl +115 -0
  373. package/wgsl/splitSlideOutHorizontal.wgsl +102 -0
  374. package/wgsl/splitSlideOutVertical.wgsl +102 -0
  375. package/wgsl/squareswire.wgsl +115 -0
  376. package/wgsl/squeeze.wgsl +105 -0
  377. package/wgsl/static_wipe.wgsl +117 -0
  378. package/wgsl/swap.wgsl +218 -0
  379. package/wgsl/tangentMotionBlur.wgsl +503 -0
  380. package/wgsl/undulatingBurnOut.wgsl +181 -0
  381. package/wgsl/wind.wgsl +101 -0
  382. package/wgsl/windowblinds.wgsl +79 -0
  383. package/wgsl/windowslice.wgsl +80 -0
  384. package/wgsl/wipeDown.wgsl +77 -0
  385. package/wgsl/wipeLeft.wgsl +77 -0
  386. package/wgsl/wipeRight.wgsl +77 -0
  387. package/wgsl/wipeUp.wgsl +77 -0
  388. package/wgsl/x_axis_translation.wgsl +82 -0
  389. package/wgsl/zoomInOut.wgsl +94 -0
@@ -0,0 +1,755 @@
1
+ // StripDatamoshGlitch — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/StripDatamoshGlitch.glsl
2
+ // Author: bread
3
+ // License: MIT
4
+ // Description: A datamosh glitch: torn strips, chroma shifts and scan noise drag the outgoing image into the incoming one
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ strength: f32,
11
+ horizontalBars: f32,
12
+ verticalSlits: f32,
13
+ tear: f32,
14
+ chroma: f32,
15
+ residue: f32,
16
+ noiseAmount: f32,
17
+ scanAmount: f32,
18
+ flashAmount: f32,
19
+ }
20
+
21
+ @group(0) @binding(2)
22
+ var _from: texture_2d<f32>;
23
+ @group(0) @binding(1)
24
+ var _sampler: sampler;
25
+ @group(0) @binding(3)
26
+ var _to: texture_2d<f32>;
27
+ @group(0) @binding(0)
28
+ var<uniform> uniforms: Uniforms;
29
+ var<private> _fragColor: vec4<f32>;
30
+ var<private> _uv_1: vec2<f32>;
31
+
32
+ fn hash_u0028_vf2_u003b(p: ptr<function, vec2<f32>>) -> f32 {
33
+ let _e107 = (*p);
34
+ return fract((sin(dot(_e107, vec2<f32>(127.1f, 311.7f))) * 43758.547f));
35
+ }
36
+
37
+ fn stripeY(uv: ptr<function, vec2<f32>>, density: ptr<function, f32>, seed: ptr<function, f32>, minWidth: ptr<function, f32>, maxWidth: ptr<function, f32>) -> f32 {
38
+ var y: f32;
39
+ var id: f32;
40
+ var f: f32;
41
+ var c: f32;
42
+ var param: vec2<f32>;
43
+ var w: f32;
44
+ var param_1: vec2<f32>;
45
+
46
+ let _e119 = (*uv)[1u];
47
+ let _e120 = (*density);
48
+ let _e122 = (*seed);
49
+ y = ((_e119 * _e120) + (_e122 * 0.137f));
50
+ let _e125 = y;
51
+ id = floor(_e125);
52
+ let _e127 = y;
53
+ f = fract(_e127);
54
+ let _e129 = id;
55
+ let _e130 = (*seed);
56
+ param = vec2<f32>(_e129, _e130);
57
+ let _e132 = hash_u0028_vf2_u003b((&param));
58
+ c = _e132;
59
+ let _e133 = (*minWidth);
60
+ let _e134 = (*maxWidth);
61
+ let _e135 = id;
62
+ let _e137 = (*seed);
63
+ param_1 = vec2<f32>((_e135 + 9.17f), (_e137 + 2.31f));
64
+ let _e140 = hash_u0028_vf2_u003b((&param_1));
65
+ w = mix(_e133, _e134, _e140);
66
+ let _e142 = w;
67
+ let _e143 = w;
68
+ let _e145 = f;
69
+ let _e146 = c;
70
+ return (1f - smoothstep(_e142, (_e143 + 0.018f), abs((_e145 - _e146))));
71
+ }
72
+
73
+ fn getToColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
74
+ let _e108 = (*uv_1)[0u];
75
+ let _e110 = (*uv_1)[1u];
76
+ let _e113 = textureSampleLevel(_to, _sampler, vec2<f32>(_e108, (1f - _e110)), 0f);
77
+ return _e113;
78
+ }
79
+
80
+ fn safeUv(uv_2: ptr<function, vec2<f32>>) -> vec2<f32> {
81
+ let _e107 = (*uv_2);
82
+ return clamp(_e107, vec2<f32>(0f, 0f), vec2<f32>(1f, 1f));
83
+ }
84
+
85
+ fn chromaTo(uv_3: ptr<function, vec2<f32>>, s: ptr<function, vec2<f32>>) -> vec4<f32> {
86
+ var param_2: vec2<f32>;
87
+ var param_3: vec2<f32>;
88
+ var param_4: vec2<f32>;
89
+ var param_5: vec2<f32>;
90
+ var param_6: vec2<f32>;
91
+ var param_7: vec2<f32>;
92
+
93
+ let _e114 = (*uv_3);
94
+ param_2 = _e114;
95
+ let _e115 = safeUv((&param_2));
96
+ (*uv_3) = _e115;
97
+ let _e116 = (*uv_3);
98
+ let _e117 = (*s);
99
+ param_3 = (_e116 - _e117);
100
+ let _e119 = safeUv((&param_3));
101
+ param_4 = _e119;
102
+ let _e120 = getToColor((&param_4));
103
+ let _e122 = (*uv_3);
104
+ param_5 = _e122;
105
+ let _e123 = getToColor((&param_5));
106
+ let _e125 = (*uv_3);
107
+ let _e126 = (*s);
108
+ param_6 = (_e125 + _e126);
109
+ let _e128 = safeUv((&param_6));
110
+ param_7 = _e128;
111
+ let _e129 = getToColor((&param_7));
112
+ return vec4<f32>(_e120.x, _e123.y, _e129.z, 1f);
113
+ }
114
+
115
+ fn getFromColor(uv_4: ptr<function, vec2<f32>>) -> vec4<f32> {
116
+ let _e108 = (*uv_4)[0u];
117
+ let _e110 = (*uv_4)[1u];
118
+ let _e113 = textureSampleLevel(_from, _sampler, vec2<f32>(_e108, (1f - _e110)), 0f);
119
+ return _e113;
120
+ }
121
+
122
+ fn chromaFrom(uv_5: ptr<function, vec2<f32>>, s_1: ptr<function, vec2<f32>>) -> vec4<f32> {
123
+ var param_8: vec2<f32>;
124
+ var param_9: vec2<f32>;
125
+ var param_10: vec2<f32>;
126
+ var param_11: vec2<f32>;
127
+ var param_12: vec2<f32>;
128
+ var param_13: vec2<f32>;
129
+
130
+ let _e114 = (*uv_5);
131
+ param_8 = _e114;
132
+ let _e115 = safeUv((&param_8));
133
+ (*uv_5) = _e115;
134
+ let _e116 = (*uv_5);
135
+ let _e117 = (*s_1);
136
+ param_9 = (_e116 + _e117);
137
+ let _e119 = safeUv((&param_9));
138
+ param_10 = _e119;
139
+ let _e120 = getFromColor((&param_10));
140
+ let _e122 = (*uv_5);
141
+ param_11 = _e122;
142
+ let _e123 = getFromColor((&param_11));
143
+ let _e125 = (*uv_5);
144
+ let _e126 = (*s_1);
145
+ param_12 = (_e125 - _e126);
146
+ let _e128 = safeUv((&param_12));
147
+ param_13 = _e128;
148
+ let _e129 = getFromColor((&param_13));
149
+ return vec4<f32>(_e120.x, _e123.y, _e129.z, 1f);
150
+ }
151
+
152
+ fn distortUv(uv_6: ptr<function, vec2<f32>>, dir: ptr<function, f32>, b: ptr<function, f32>, h: ptr<function, f32>, v: ptr<function, f32>, frame: ptr<function, f32>) -> vec2<f32> {
153
+ var row: f32;
154
+ var col: f32;
155
+ var rowRnd: f32;
156
+ var param_14: vec2<f32>;
157
+ var colRnd: f32;
158
+ var param_15: vec2<f32>;
159
+ var xTear: f32;
160
+ var yDrag: f32;
161
+ var micro: f32;
162
+ var param_16: vec2<f32>;
163
+
164
+ let _e123 = (*uv_6)[1u];
165
+ let _e125 = uniforms.horizontalBars;
166
+ row = floor((_e123 * _e125));
167
+ let _e129 = (*uv_6)[0u];
168
+ let _e131 = uniforms.verticalSlits;
169
+ col = floor((_e129 * _e131));
170
+ let _e134 = row;
171
+ let _e135 = (*frame);
172
+ param_14 = vec2<f32>(_e134, _e135);
173
+ let _e137 = hash_u0028_vf2_u003b((&param_14));
174
+ rowRnd = _e137;
175
+ let _e138 = col;
176
+ let _e139 = (*frame);
177
+ param_15 = vec2<f32>(_e138, (_e139 + 27f));
178
+ let _e142 = hash_u0028_vf2_u003b((&param_15));
179
+ colRnd = _e142;
180
+ let _e143 = rowRnd;
181
+ let _e147 = uniforms.tear;
182
+ let _e149 = (*b);
183
+ let _e151 = (*h);
184
+ xTear = (((((_e143 - 0.5f) * 2f) * _e147) * _e149) * _e151);
185
+ let _e154 = (*uv_6)[1u];
186
+ let _e157 = uniforms.progress;
187
+ let _e162 = (*b);
188
+ let _e164 = xTear;
189
+ xTear = (_e164 + ((sin(((_e154 * 120f) + (_e157 * 95f))) * 0.006f) * _e162));
190
+ let _e166 = colRnd;
191
+ let _e169 = (*b);
192
+ let _e171 = (*v);
193
+ yDrag = ((((_e166 - 0.5f) * 0.13f) * _e169) * _e171);
194
+ let _e173 = row;
195
+ let _e174 = col;
196
+ let _e175 = (*frame);
197
+ param_16 = vec2<f32>(_e173, (_e174 + _e175));
198
+ let _e178 = hash_u0028_vf2_u003b((&param_16));
199
+ let _e181 = (*b);
200
+ let _e183 = (*h);
201
+ let _e184 = (*v);
202
+ micro = ((((_e178 - 0.5f) * 0.018f) * _e181) * max(_e183, _e184));
203
+ let _e187 = (*uv_6);
204
+ let _e188 = xTear;
205
+ let _e189 = (*dir);
206
+ let _e191 = micro;
207
+ let _e193 = yDrag;
208
+ return (_e187 + vec2<f32>(((_e188 * _e189) + _e191), _e193));
209
+ }
210
+
211
+ fn sat(v_1: ptr<function, f32>) -> f32 {
212
+ let _e107 = (*v_1);
213
+ return clamp(_e107, 0f, 1f);
214
+ }
215
+
216
+ fn stripeX(uv_7: ptr<function, vec2<f32>>, density_1: ptr<function, f32>, seed_1: ptr<function, f32>, minWidth_1: ptr<function, f32>, maxWidth_1: ptr<function, f32>) -> f32 {
217
+ var x: f32;
218
+ var id_1: f32;
219
+ var f_1: f32;
220
+ var c_1: f32;
221
+ var param_17: vec2<f32>;
222
+ var w_1: f32;
223
+ var param_18: vec2<f32>;
224
+
225
+ let _e119 = (*uv_7)[0u];
226
+ let _e120 = (*density_1);
227
+ let _e122 = (*seed_1);
228
+ x = ((_e119 * _e120) + (_e122 * 0.091f));
229
+ let _e125 = x;
230
+ id_1 = floor(_e125);
231
+ let _e127 = x;
232
+ f_1 = fract(_e127);
233
+ let _e129 = id_1;
234
+ let _e130 = (*seed_1);
235
+ param_17 = vec2<f32>(_e129, (_e130 + 41f));
236
+ let _e133 = hash_u0028_vf2_u003b((&param_17));
237
+ c_1 = _e133;
238
+ let _e134 = (*minWidth_1);
239
+ let _e135 = (*maxWidth_1);
240
+ let _e136 = id_1;
241
+ let _e138 = (*seed_1);
242
+ param_18 = vec2<f32>((_e136 + 4.7f), (_e138 + 8.9f));
243
+ let _e141 = hash_u0028_vf2_u003b((&param_18));
244
+ w_1 = mix(_e134, _e135, _e141);
245
+ let _e143 = w_1;
246
+ let _e144 = w_1;
247
+ let _e146 = f_1;
248
+ let _e147 = c_1;
249
+ return (1f - smoothstep(_e143, (_e144 + 0.012f), abs((_e146 - _e147))));
250
+ }
251
+
252
+ fn hash_u0028_f1_u003b(n: ptr<function, f32>) -> f32 {
253
+ let _e107 = (*n);
254
+ return fract((sin(_e107) * 43758.547f));
255
+ }
256
+
257
+ fn verticalMask(uv_8: ptr<function, vec2<f32>>, frame_1: ptr<function, f32>) -> f32 {
258
+ var col_1: f32;
259
+ var param_19: f32;
260
+ var slit: f32;
261
+ var param_20: vec2<f32>;
262
+ var param_21: f32;
263
+ var param_22: f32;
264
+ var param_23: f32;
265
+ var param_24: f32;
266
+ var param_25: vec2<f32>;
267
+ var param_26: f32;
268
+
269
+ let _e119 = (*uv_8)[0u];
270
+ let _e120 = (*frame_1);
271
+ param_19 = (_e120 + 12f);
272
+ let _e122 = hash_u0028_f1_u003b((&param_19));
273
+ let _e126 = uniforms.verticalSlits;
274
+ col_1 = floor(((_e119 + (_e122 * 0.017f)) * _e126));
275
+ let _e129 = (*frame_1);
276
+ let _e131 = (*uv_8);
277
+ param_20 = _e131;
278
+ let _e133 = uniforms.verticalSlits;
279
+ param_21 = _e133;
280
+ param_22 = (_e129 + 13f);
281
+ param_23 = 0.01f;
282
+ param_24 = 0.075f;
283
+ let _e134 = stripeX((&param_20), (&param_21), (&param_22), (&param_23), (&param_24));
284
+ slit = _e134;
285
+ let _e135 = col_1;
286
+ let _e136 = (*frame_1);
287
+ param_25 = vec2<f32>(_e135, (_e136 + 19f));
288
+ let _e139 = hash_u0028_vf2_u003b((&param_25));
289
+ let _e141 = slit;
290
+ slit = (_e141 * step(0.66f, _e139));
291
+ let _e143 = slit;
292
+ param_26 = _e143;
293
+ let _e144 = sat((&param_26));
294
+ return _e144;
295
+ }
296
+
297
+ fn brokenGate(uv_9: ptr<function, vec2<f32>>, row_1: ptr<function, f32>, rnd: ptr<function, f32>, frame_2: ptr<function, f32>) -> f32 {
298
+ var segs: f32;
299
+ var param_27: vec2<f32>;
300
+ var seg: f32;
301
+ var param_28: vec2<f32>;
302
+
303
+ let _e114 = (*row_1);
304
+ let _e115 = (*frame_2);
305
+ param_27 = vec2<f32>(_e114, (_e115 + 44f));
306
+ let _e118 = hash_u0028_vf2_u003b((&param_27));
307
+ segs = mix(1f, 9f, _e118);
308
+ let _e121 = (*uv_9)[0u];
309
+ let _e122 = segs;
310
+ seg = floor((_e121 * _e122));
311
+ let _e125 = seg;
312
+ let _e126 = (*row_1);
313
+ let _e127 = (*frame_2);
314
+ let _e130 = (*rnd);
315
+ param_28 = vec2<f32>(_e125, ((_e126 + (_e127 * 3f)) + _e130));
316
+ let _e133 = hash_u0028_vf2_u003b((&param_28));
317
+ return step(0.16f, _e133);
318
+ }
319
+
320
+ fn horizontalMask(uv_10: ptr<function, vec2<f32>>, frame_3: ptr<function, f32>) -> f32 {
321
+ var r1_: f32;
322
+ var param_29: f32;
323
+ var r2_: f32;
324
+ var param_30: f32;
325
+ var r3_: f32;
326
+ var param_31: f32;
327
+ var thick: f32;
328
+ var param_32: vec2<f32>;
329
+ var param_33: f32;
330
+ var param_34: f32;
331
+ var param_35: f32;
332
+ var param_36: f32;
333
+ var mid: f32;
334
+ var param_37: vec2<f32>;
335
+ var param_38: f32;
336
+ var param_39: f32;
337
+ var param_40: f32;
338
+ var param_41: f32;
339
+ var hair: f32;
340
+ var param_42: vec2<f32>;
341
+ var param_43: f32;
342
+ var param_44: f32;
343
+ var param_45: f32;
344
+ var param_46: f32;
345
+ var param_47: vec2<f32>;
346
+ var param_48: vec2<f32>;
347
+ var param_49: vec2<f32>;
348
+ var param_50: vec2<f32>;
349
+ var param_51: vec2<f32>;
350
+ var param_52: f32;
351
+ var param_53: f32;
352
+ var param_54: f32;
353
+ var param_55: vec2<f32>;
354
+ var param_56: vec2<f32>;
355
+ var param_57: f32;
356
+ var param_58: f32;
357
+ var param_59: f32;
358
+ var param_60: f32;
359
+
360
+ let _e147 = (*uv_10)[1u];
361
+ let _e148 = (*frame_3);
362
+ param_29 = _e148;
363
+ let _e149 = hash_u0028_f1_u003b((&param_29));
364
+ let _e153 = uniforms.horizontalBars;
365
+ r1_ = floor((((_e147 + (_e149 * 0.031f)) * _e153) * 0.38f));
366
+ let _e158 = (*uv_10)[1u];
367
+ let _e159 = (*frame_3);
368
+ param_30 = (_e159 + 2f);
369
+ let _e161 = hash_u0028_f1_u003b((&param_30));
370
+ let _e165 = uniforms.horizontalBars;
371
+ r2_ = floor(((_e158 + (_e161 * 0.013f)) * _e165));
372
+ let _e169 = (*uv_10)[1u];
373
+ let _e170 = (*frame_3);
374
+ param_31 = (_e170 + 7f);
375
+ let _e172 = hash_u0028_f1_u003b((&param_31));
376
+ let _e176 = uniforms.horizontalBars;
377
+ r3_ = floor((((_e169 + (_e172 * 0.006f)) * _e176) * 3.4f));
378
+ let _e181 = uniforms.horizontalBars;
379
+ let _e183 = (*frame_3);
380
+ let _e185 = (*uv_10);
381
+ param_32 = _e185;
382
+ param_33 = (_e181 * 0.38f);
383
+ param_34 = (_e183 + 1f);
384
+ param_35 = 0.035f;
385
+ param_36 = 0.22f;
386
+ let _e186 = stripeY((&param_32), (&param_33), (&param_34), (&param_35), (&param_36));
387
+ thick = _e186;
388
+ let _e187 = (*frame_3);
389
+ let _e189 = (*uv_10);
390
+ param_37 = _e189;
391
+ let _e191 = uniforms.horizontalBars;
392
+ param_38 = _e191;
393
+ param_39 = (_e187 + 4f);
394
+ param_40 = 0.014f;
395
+ param_41 = 0.11f;
396
+ let _e192 = stripeY((&param_37), (&param_38), (&param_39), (&param_40), (&param_41));
397
+ mid = _e192;
398
+ let _e194 = uniforms.horizontalBars;
399
+ let _e196 = (*frame_3);
400
+ let _e198 = (*uv_10);
401
+ param_42 = _e198;
402
+ param_43 = (_e194 * 3.4f);
403
+ param_44 = (_e196 + 9f);
404
+ param_45 = 0.004f;
405
+ param_46 = 0.035f;
406
+ let _e199 = stripeY((&param_42), (&param_43), (&param_44), (&param_45), (&param_46));
407
+ hair = _e199;
408
+ let _e200 = r1_;
409
+ let _e201 = (*frame_3);
410
+ param_47 = vec2<f32>(_e200, (_e201 + 10f));
411
+ let _e204 = hash_u0028_vf2_u003b((&param_47));
412
+ let _e206 = thick;
413
+ thick = (_e206 * step(0.42f, _e204));
414
+ let _e208 = r2_;
415
+ let _e209 = (*frame_3);
416
+ param_48 = vec2<f32>(_e208, (_e209 + 20f));
417
+ let _e212 = hash_u0028_vf2_u003b((&param_48));
418
+ let _e214 = mid;
419
+ mid = (_e214 * step(0.48f, _e212));
420
+ let _e216 = r3_;
421
+ let _e217 = (*frame_3);
422
+ param_49 = vec2<f32>(_e216, (_e217 + 30f));
423
+ let _e220 = hash_u0028_vf2_u003b((&param_49));
424
+ let _e222 = hair;
425
+ hair = (_e222 * step(0.62f, _e220));
426
+ let _e224 = r1_;
427
+ let _e225 = (*frame_3);
428
+ param_50 = vec2<f32>(_e224, _e225);
429
+ let _e227 = hash_u0028_vf2_u003b((&param_50));
430
+ let _e228 = (*uv_10);
431
+ param_51 = _e228;
432
+ let _e229 = r1_;
433
+ param_52 = _e229;
434
+ param_53 = _e227;
435
+ let _e230 = (*frame_3);
436
+ param_54 = _e230;
437
+ let _e231 = brokenGate((&param_51), (&param_52), (&param_53), (&param_54));
438
+ let _e232 = thick;
439
+ thick = (_e232 * _e231);
440
+ let _e234 = r2_;
441
+ let _e235 = (*frame_3);
442
+ param_55 = vec2<f32>(_e234, _e235);
443
+ let _e237 = hash_u0028_vf2_u003b((&param_55));
444
+ let _e238 = (*frame_3);
445
+ let _e240 = (*uv_10);
446
+ param_56 = _e240;
447
+ let _e241 = r2_;
448
+ param_57 = _e241;
449
+ param_58 = _e237;
450
+ param_59 = (_e238 + 3f);
451
+ let _e242 = brokenGate((&param_56), (&param_57), (&param_58), (&param_59));
452
+ let _e243 = mid;
453
+ mid = (_e243 * _e242);
454
+ let _e245 = thick;
455
+ let _e246 = mid;
456
+ let _e247 = hair;
457
+ param_60 = max(_e245, max(_e246, _e247));
458
+ let _e250 = sat((&param_60));
459
+ return _e250;
460
+ }
461
+
462
+ fn burst_u0028_() -> f32 {
463
+ let _e107 = uniforms.progress;
464
+ let _e113 = uniforms.strength;
465
+ return (pow(max(0f, sin((_e107 * 3.1415927f))), 0.42f) * _e113);
466
+ }
467
+
468
+ fn transition(uv_11: ptr<function, vec2<f32>>) -> vec4<f32> {
469
+ var param_61: vec2<f32>;
470
+ var param_62: vec2<f32>;
471
+ var b_1: f32;
472
+ var frame_4: f32;
473
+ var h_1: f32;
474
+ var param_63: vec2<f32>;
475
+ var param_64: f32;
476
+ var v_2: f32;
477
+ var param_65: vec2<f32>;
478
+ var param_66: f32;
479
+ var glitch: f32;
480
+ var param_67: f32;
481
+ var row_2: f32;
482
+ var rowRnd_1: f32;
483
+ var param_68: vec2<f32>;
484
+ var bandDelay: f32;
485
+ var reveal: f32;
486
+ var split: vec2<f32>;
487
+ var fromUv: vec2<f32>;
488
+ var param_69: vec2<f32>;
489
+ var param_70: f32;
490
+ var param_71: f32;
491
+ var param_72: f32;
492
+ var param_73: f32;
493
+ var param_74: f32;
494
+ var toUv: vec2<f32>;
495
+ var param_75: vec2<f32>;
496
+ var param_76: f32;
497
+ var param_77: f32;
498
+ var param_78: f32;
499
+ var param_79: f32;
500
+ var param_80: f32;
501
+ var color: vec4<f32>;
502
+ var param_81: vec2<f32>;
503
+ var param_82: vec2<f32>;
504
+ var param_83: vec2<f32>;
505
+ var param_84: vec2<f32>;
506
+ var smearUv: vec2<f32>;
507
+ var param_85: vec2<f32>;
508
+ var sliceReveal: f32;
509
+ var sliceColor: vec4<f32>;
510
+ var param_86: vec2<f32>;
511
+ var param_87: vec2<f32>;
512
+ var param_88: vec2<f32>;
513
+ var param_89: vec2<f32>;
514
+ var hairLine: f32;
515
+ var param_90: vec2<f32>;
516
+ var param_91: f32;
517
+ var param_92: f32;
518
+ var param_93: f32;
519
+ var param_94: f32;
520
+ var param_95: vec2<f32>;
521
+ var scan: f32;
522
+ var nCell: vec2<f32>;
523
+ var n_1: f32;
524
+ var param_96: vec2<f32>;
525
+ var luma: f32;
526
+ var strobe: f32;
527
+ var param_97: vec2<f32>;
528
+
529
+ let _e167 = uniforms.progress;
530
+ if (_e167 <= 0f) {
531
+ let _e169 = (*uv_11);
532
+ param_61 = _e169;
533
+ let _e170 = getFromColor((&param_61));
534
+ return _e170;
535
+ }
536
+ let _e172 = uniforms.progress;
537
+ if (_e172 >= 1f) {
538
+ let _e174 = (*uv_11);
539
+ param_62 = _e174;
540
+ let _e175 = getToColor((&param_62));
541
+ return _e175;
542
+ }
543
+ let _e176 = burst_u0028_();
544
+ b_1 = _e176;
545
+ let _e178 = uniforms.progress;
546
+ frame_4 = floor((_e178 * 30f));
547
+ let _e181 = (*uv_11);
548
+ param_63 = _e181;
549
+ let _e182 = frame_4;
550
+ param_64 = _e182;
551
+ let _e183 = horizontalMask((&param_63), (&param_64));
552
+ h_1 = _e183;
553
+ let _e184 = (*uv_11);
554
+ param_65 = _e184;
555
+ let _e185 = frame_4;
556
+ param_66 = _e185;
557
+ let _e186 = verticalMask((&param_65), (&param_66));
558
+ v_2 = _e186;
559
+ let _e187 = h_1;
560
+ let _e188 = v_2;
561
+ param_67 = max(_e187, (_e188 * 0.75f));
562
+ let _e191 = sat((&param_67));
563
+ glitch = _e191;
564
+ let _e193 = (*uv_11)[1u];
565
+ let _e195 = uniforms.horizontalBars;
566
+ row_2 = floor((_e193 * _e195));
567
+ let _e198 = row_2;
568
+ let _e199 = frame_4;
569
+ param_68 = vec2<f32>(_e198, (_e199 + 5f));
570
+ let _e202 = hash_u0028_vf2_u003b((&param_68));
571
+ rowRnd_1 = _e202;
572
+ let _e203 = rowRnd_1;
573
+ let _e206 = h_1;
574
+ bandDelay = (((_e203 - 0.5f) * 0.3f) * _e206);
575
+ let _e209 = uniforms.progress;
576
+ let _e210 = bandDelay;
577
+ reveal = smoothstep(0.18f, 0.84f, (_e209 + _e210));
578
+ let _e214 = uniforms.chroma;
579
+ let _e215 = b_1;
580
+ let _e217 = glitch;
581
+ let _e222 = uniforms.chroma;
582
+ let _e224 = b_1;
583
+ let _e226 = v_2;
584
+ split = vec2<f32>(((_e214 * _e215) * (1f + (1.7f * _e217))), (((_e222 * 0.22f) * _e224) * _e226));
585
+ let _e229 = (*uv_11);
586
+ param_69 = _e229;
587
+ param_70 = 1f;
588
+ let _e230 = b_1;
589
+ param_71 = _e230;
590
+ let _e231 = h_1;
591
+ param_72 = _e231;
592
+ let _e232 = v_2;
593
+ param_73 = _e232;
594
+ let _e233 = frame_4;
595
+ param_74 = _e233;
596
+ let _e234 = distortUv((&param_69), (&param_70), (&param_71), (&param_72), (&param_73), (&param_74));
597
+ fromUv = _e234;
598
+ let _e235 = (*uv_11);
599
+ param_75 = _e235;
600
+ param_76 = -1f;
601
+ let _e236 = b_1;
602
+ param_77 = _e236;
603
+ let _e237 = h_1;
604
+ param_78 = _e237;
605
+ let _e238 = v_2;
606
+ param_79 = _e238;
607
+ let _e239 = frame_4;
608
+ param_80 = _e239;
609
+ let _e240 = distortUv((&param_75), (&param_76), (&param_77), (&param_78), (&param_79), (&param_80));
610
+ toUv = _e240;
611
+ let _e241 = fromUv;
612
+ param_81 = _e241;
613
+ let _e242 = split;
614
+ param_82 = _e242;
615
+ let _e243 = chromaFrom((&param_81), (&param_82));
616
+ let _e244 = toUv;
617
+ param_83 = _e244;
618
+ let _e245 = split;
619
+ param_84 = _e245;
620
+ let _e246 = chromaTo((&param_83), (&param_84));
621
+ let _e247 = reveal;
622
+ color = mix(_e243, _e246, vec4(_e247));
623
+ let _e250 = (*uv_11);
624
+ smearUv = _e250;
625
+ let _e251 = rowRnd_1;
626
+ let _e254 = b_1;
627
+ let _e256 = h_1;
628
+ let _e259 = smearUv[0u];
629
+ smearUv[0u] = (_e259 + ((((_e251 - 0.5f) * 0.46f) * _e254) * _e256));
630
+ let _e262 = row_2;
631
+ let _e263 = frame_4;
632
+ param_85 = vec2<f32>(_e262, (_e263 + 31f));
633
+ let _e266 = hash_u0028_vf2_u003b((&param_85));
634
+ let _e269 = b_1;
635
+ let _e271 = h_1;
636
+ let _e274 = smearUv[1u];
637
+ smearUv[1u] = (_e274 + ((((_e266 - 0.5f) * 0.045f) * _e269) * _e271));
638
+ let _e278 = uniforms.progress;
639
+ let _e279 = rowRnd_1;
640
+ sliceReveal = smoothstep(0.28f, 0.78f, (_e278 + ((_e279 - 0.5f) * 0.22f)));
641
+ let _e284 = split;
642
+ let _e286 = smearUv;
643
+ param_86 = _e286;
644
+ param_87 = (_e284 * 1.65f);
645
+ let _e287 = chromaFrom((&param_86), (&param_87));
646
+ let _e288 = smearUv;
647
+ let _e289 = rowRnd_1;
648
+ let _e292 = b_1;
649
+ let _e296 = split;
650
+ param_88 = (_e288 - vec2<f32>((((_e289 - 0.5f) * 0.18f) * _e292), 0f));
651
+ param_89 = (_e296 * 1.65f);
652
+ let _e298 = chromaTo((&param_88), (&param_89));
653
+ let _e299 = sliceReveal;
654
+ sliceColor = mix(_e287, _e298, vec4(_e299));
655
+ let _e302 = color;
656
+ let _e303 = sliceColor;
657
+ let _e304 = h_1;
658
+ let _e305 = b_1;
659
+ let _e308 = uniforms.residue;
660
+ color = mix(_e302, _e303, vec4(((_e304 * _e305) * _e308)));
661
+ let _e312 = frame_4;
662
+ let _e314 = (*uv_11);
663
+ param_90 = _e314;
664
+ param_91 = 190f;
665
+ param_92 = (_e312 + 55f);
666
+ param_93 = 0.002f;
667
+ param_94 = 0.012f;
668
+ let _e315 = stripeY((&param_90), (&param_91), (&param_92), (&param_93), (&param_94));
669
+ hairLine = _e315;
670
+ let _e317 = (*uv_11)[1u];
671
+ let _e320 = frame_4;
672
+ param_95 = vec2<f32>(floor((_e317 * 190f)), (_e320 + 56f));
673
+ let _e323 = hash_u0028_vf2_u003b((&param_95));
674
+ let _e325 = hairLine;
675
+ hairLine = (_e325 * step(0.7f, _e323));
676
+ let _e327 = hairLine;
677
+ let _e329 = b_1;
678
+ let _e332 = color;
679
+ let _e334 = (_e332.xyz + (((vec3<f32>(0.72f, 0.9f, 1f) * _e327) * _e329) * 0.28f));
680
+ color[0u] = _e334.x;
681
+ color[1u] = _e334.y;
682
+ color[2u] = _e334.z;
683
+ let _e342 = (*uv_11)[1u];
684
+ let _e345 = uniforms.progress;
685
+ scan = (0.5f + (0.5f * sin(((_e342 * 980f) + (_e345 * 130f)))));
686
+ let _e352 = uniforms.scanAmount;
687
+ let _e353 = b_1;
688
+ let _e355 = scan;
689
+ let _e358 = color;
690
+ let _e360 = (_e358.xyz * (1f - ((_e352 * _e353) * _e355)));
691
+ color[0u] = _e360.x;
692
+ color[1u] = _e360.y;
693
+ color[2u] = _e360.z;
694
+ let _e367 = (*uv_11);
695
+ let _e369 = uniforms.ratio;
696
+ nCell = floor((_e367 * vec2<f32>((360f * _e369), 210f)));
697
+ let _e374 = nCell;
698
+ let _e375 = frame_4;
699
+ let _e377 = frame_4;
700
+ param_96 = (_e374 + vec2<f32>((_e375 * 7f), (_e377 * 13f)));
701
+ let _e381 = hash_u0028_vf2_u003b((&param_96));
702
+ n_1 = _e381;
703
+ let _e382 = n_1;
704
+ let _e385 = uniforms.noiseAmount;
705
+ let _e387 = b_1;
706
+ let _e389 = glitch;
707
+ let _e392 = color;
708
+ let _e395 = (_e392.xyz + vec3(((((_e382 - 0.5f) * _e385) * _e387) * (0.55f + _e389))));
709
+ color[0u] = _e395.x;
710
+ color[1u] = _e395.y;
711
+ color[2u] = _e395.z;
712
+ let _e402 = color;
713
+ luma = dot(_e402.xyz, vec3<f32>(0.299f, 0.587f, 0.114f));
714
+ let _e405 = color;
715
+ let _e407 = luma;
716
+ let _e409 = b_1;
717
+ let _e411 = glitch;
718
+ let _e414 = mix(_e405.xyz, vec3(_e407), vec3(((0.18f * _e409) * _e411)));
719
+ color[0u] = _e414.x;
720
+ color[1u] = _e414.y;
721
+ color[2u] = _e414.z;
722
+ let _e421 = frame_4;
723
+ param_97 = vec2<f32>(_e421, 3.14f);
724
+ let _e423 = hash_u0028_vf2_u003b((&param_97));
725
+ let _e425 = b_1;
726
+ strobe = (step(0.78f, _e423) * pow(_e425, 1.65f));
727
+ let _e428 = strobe;
728
+ let _e430 = uniforms.flashAmount;
729
+ let _e433 = color;
730
+ let _e435 = (_e433.xyz + vec3((_e428 * _e430)));
731
+ color[0u] = _e435.x;
732
+ color[1u] = _e435.y;
733
+ color[2u] = _e435.z;
734
+ let _e442 = color;
735
+ let _e444 = clamp(_e442.xyz, vec3<f32>(0f, 0f, 0f), vec3<f32>(1f, 1f, 1f));
736
+ return vec4<f32>(_e444.x, _e444.y, _e444.z, 1f);
737
+ }
738
+
739
+ fn main_1() {
740
+ var param_98: vec2<f32>;
741
+
742
+ let _e107 = _uv_1;
743
+ param_98 = _e107;
744
+ let _e108 = transition((&param_98));
745
+ _fragColor = _e108;
746
+ return;
747
+ }
748
+
749
+ @fragment
750
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
751
+ _uv_1 = _uv;
752
+ main_1();
753
+ let _e3 = _fragColor;
754
+ return _e3;
755
+ }