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,138 @@
1
+ // rotate_scale_fade — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/rotate_scale_fade.glsl
2
+ // Author: Fernando Kuteken
3
+ // License: MIT
4
+ // Description: The outgoing image spins and zooms while fading to the incoming one, over a background color
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ center: vec2<f32>,
11
+ rotations: f32,
12
+ scale: f32,
13
+ backColor: vec4<f32>,
14
+ }
15
+
16
+ @group(0) @binding(2)
17
+ var _from: texture_2d<f32>;
18
+ @group(0) @binding(1)
19
+ var _sampler: sampler;
20
+ @group(0) @binding(3)
21
+ var _to: texture_2d<f32>;
22
+ @group(0) @binding(0)
23
+ var<uniform> uniforms: Uniforms;
24
+ var<private> _fragColor: vec4<f32>;
25
+ var<private> _uv_1: vec2<f32>;
26
+
27
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
28
+ let _e20 = (*uv)[0u];
29
+ let _e22 = (*uv)[1u];
30
+ let _e25 = textureSampleLevel(_to, _sampler, vec2<f32>(_e20, (1f - _e22)), 0f);
31
+ return _e25;
32
+ }
33
+
34
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
35
+ let _e20 = (*uv_1)[0u];
36
+ let _e22 = (*uv_1)[1u];
37
+ let _e25 = textureSampleLevel(_from, _sampler, vec2<f32>(_e20, (1f - _e22)), 0f);
38
+ return _e25;
39
+ }
40
+
41
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
42
+ var difference: vec2<f32>;
43
+ var dir: vec2<f32>;
44
+ var dist: f32;
45
+ var angle: f32;
46
+ var c: f32;
47
+ var s: f32;
48
+ var currentScale: f32;
49
+ var rotatedDir: vec2<f32>;
50
+ var rotatedUv: vec2<f32>;
51
+ var param: vec2<f32>;
52
+ var param_1: vec2<f32>;
53
+ var phi_144_: bool;
54
+ var phi_151_: bool;
55
+ var phi_158_: bool;
56
+
57
+ let _e30 = (*uv_2);
58
+ let _e32 = uniforms.center;
59
+ difference = (_e30 - _e32);
60
+ let _e34 = difference;
61
+ dir = normalize(_e34);
62
+ let _e36 = difference;
63
+ dist = length(_e36);
64
+ let _e39 = uniforms.rotations;
65
+ let _e42 = uniforms.progress;
66
+ angle = ((6.2831855f * _e39) * _e42);
67
+ let _e44 = angle;
68
+ c = cos(_e44);
69
+ let _e46 = angle;
70
+ s = sin(_e46);
71
+ let _e49 = uniforms.scale;
72
+ let _e51 = uniforms.progress;
73
+ currentScale = mix(_e49, 1f, (2f * abs((_e51 - 0.5f))));
74
+ let _e57 = dir[0u];
75
+ let _e58 = c;
76
+ let _e61 = dir[1u];
77
+ let _e62 = s;
78
+ let _e66 = dir[0u];
79
+ let _e67 = s;
80
+ let _e70 = dir[1u];
81
+ let _e71 = c;
82
+ rotatedDir = vec2<f32>(((_e57 * _e58) - (_e61 * _e62)), ((_e66 * _e67) + (_e70 * _e71)));
83
+ let _e76 = uniforms.center;
84
+ let _e77 = rotatedDir;
85
+ let _e78 = dist;
86
+ let _e80 = currentScale;
87
+ rotatedUv = (_e76 + ((_e77 * _e78) / vec2(_e80)));
88
+ let _e85 = rotatedUv[0u];
89
+ let _e86 = (_e85 < 0f);
90
+ phi_144_ = _e86;
91
+ if !(_e86) {
92
+ let _e89 = rotatedUv[0u];
93
+ phi_144_ = (_e89 > 1f);
94
+ }
95
+ let _e92 = phi_144_;
96
+ phi_151_ = _e92;
97
+ if !(_e92) {
98
+ let _e95 = rotatedUv[1u];
99
+ phi_151_ = (_e95 < 0f);
100
+ }
101
+ let _e98 = phi_151_;
102
+ phi_158_ = _e98;
103
+ if !(_e98) {
104
+ let _e101 = rotatedUv[1u];
105
+ phi_158_ = (_e101 > 1f);
106
+ }
107
+ let _e104 = phi_158_;
108
+ if _e104 {
109
+ let _e106 = uniforms.backColor;
110
+ return _e106;
111
+ }
112
+ let _e107 = rotatedUv;
113
+ param = _e107;
114
+ let _e108 = getFromColor((&param));
115
+ let _e109 = rotatedUv;
116
+ param_1 = _e109;
117
+ let _e110 = getToColor((&param_1));
118
+ let _e112 = uniforms.progress;
119
+ return mix(_e108, _e110, vec4(_e112));
120
+ }
121
+
122
+ fn main_1() {
123
+ var param_2: vec2<f32>;
124
+
125
+ let _e19 = _uv_1;
126
+ param_2 = _e19;
127
+ let _e20 = transition((&param_2));
128
+ _fragColor = _e20;
129
+ return;
130
+ }
131
+
132
+ @fragment
133
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
134
+ _uv_1 = _uv;
135
+ main_1();
136
+ let _e3 = _fragColor;
137
+ return _e3;
138
+ }
@@ -0,0 +1,79 @@
1
+ // scale-in — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/scale-in.glsl
2
+ // Author: haiyoucuv
3
+ // License: MIT
4
+ // Description: The incoming image scales in from the center while fading in
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ }
11
+
12
+ @group(0) @binding(2)
13
+ var _from: texture_2d<f32>;
14
+ @group(0) @binding(1)
15
+ var _sampler: sampler;
16
+ @group(0) @binding(3)
17
+ var _to: texture_2d<f32>;
18
+ @group(0) @binding(0)
19
+ var<uniform> uniforms: Uniforms;
20
+ var<private> _fragColor: vec4<f32>;
21
+ var<private> _uv_1: vec2<f32>;
22
+
23
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
24
+ let _e14 = (*uv)[0u];
25
+ let _e16 = (*uv)[1u];
26
+ let _e19 = textureSampleLevel(_to, _sampler, vec2<f32>(_e14, (1f - _e16)), 0f);
27
+ return _e19;
28
+ }
29
+
30
+ fn scale(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
31
+ var param: vec2<f32>;
32
+
33
+ let _e14 = (*uv_1);
34
+ let _e18 = uniforms.progress;
35
+ (*uv_1) = (vec2(0.5f) + ((_e14 - vec2(0.5f)) * _e18));
36
+ let _e22 = (*uv_1);
37
+ param = _e22;
38
+ let _e23 = getToColor((&param));
39
+ return _e23;
40
+ }
41
+
42
+ fn getFromColor(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
43
+ let _e14 = (*uv_2)[0u];
44
+ let _e16 = (*uv_2)[1u];
45
+ let _e19 = textureSampleLevel(_from, _sampler, vec2<f32>(_e14, (1f - _e16)), 0f);
46
+ return _e19;
47
+ }
48
+
49
+ fn transition(uv_3: ptr<function, vec2<f32>>) -> vec4<f32> {
50
+ var param_1: vec2<f32>;
51
+ var param_2: vec2<f32>;
52
+
53
+ let _e15 = (*uv_3);
54
+ param_1 = _e15;
55
+ let _e16 = getFromColor((&param_1));
56
+ let _e17 = (*uv_3);
57
+ param_2 = _e17;
58
+ let _e18 = scale((&param_2));
59
+ let _e20 = uniforms.progress;
60
+ return mix(_e16, _e18, vec4(_e20));
61
+ }
62
+
63
+ fn main_1() {
64
+ var param_3: vec2<f32>;
65
+
66
+ let _e13 = _uv_1;
67
+ param_3 = _e13;
68
+ let _e14 = transition((&param_3));
69
+ _fragColor = _e14;
70
+ return;
71
+ }
72
+
73
+ @fragment
74
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
75
+ _uv_1 = _uv;
76
+ main_1();
77
+ let _e3 = _fragColor;
78
+ return _e3;
79
+ }
@@ -0,0 +1,118 @@
1
+ // splitSlideInHorizontal — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/splitSlideInHorizontal.glsl
2
+ // Author: OllyOllyOlly
3
+ // License: MIT
4
+ // Description: The incoming image slides in as two halves moving horizontally in opposite directions
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ reverse: i32,
11
+ }
12
+
13
+ @group(0) @binding(2)
14
+ var _from: texture_2d<f32>;
15
+ @group(0) @binding(1)
16
+ var _sampler: sampler;
17
+ @group(0) @binding(3)
18
+ var _to: texture_2d<f32>;
19
+ @group(0) @binding(0)
20
+ var<uniform> uniforms: Uniforms;
21
+ var<private> _fragColor: vec4<f32>;
22
+ var<private> _uv_1: vec2<f32>;
23
+
24
+ fn getFromColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e18 = (*uv)[0u];
26
+ let _e20 = (*uv)[1u];
27
+ let _e23 = textureSampleLevel(_from, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
28
+ return _e23;
29
+ }
30
+
31
+ fn getToColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e18 = (*uv_1)[0u];
33
+ let _e20 = (*uv_1)[1u];
34
+ let _e23 = textureSampleLevel(_to, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
35
+ return _e23;
36
+ }
37
+
38
+ fn inBounds(p: ptr<function, vec2<f32>>) -> bool {
39
+ var phi_74_: bool;
40
+
41
+ let _e17 = (*p);
42
+ let _e19 = all((vec2<f32>(0f, 0f) < _e17));
43
+ phi_74_ = _e19;
44
+ if _e19 {
45
+ let _e20 = (*p);
46
+ phi_74_ = all((_e20 < vec2<f32>(1f, 1f)));
47
+ }
48
+ let _e24 = phi_74_;
49
+ return _e24;
50
+ }
51
+
52
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
53
+ var modifier: f32;
54
+ var toP: vec2<f32>;
55
+ var local: vec2<f32>;
56
+ var fromP: vec2<f32>;
57
+ var param: vec2<f32>;
58
+ var local_1: vec4<f32>;
59
+ var param_1: vec2<f32>;
60
+ var param_2: vec2<f32>;
61
+
62
+ let _e26 = uniforms.reverse;
63
+ modifier = select(1f, -1f, (_e26 != 0i));
64
+ let _e30 = (*uv_2)[1u];
65
+ if (_e30 > 0.5f) {
66
+ let _e33 = (*uv_2)[0u];
67
+ let _e35 = uniforms.progress;
68
+ let _e36 = modifier;
69
+ let _e39 = modifier;
70
+ let _e42 = (*uv_2)[1u];
71
+ local = vec2<f32>(((_e33 - (_e35 * _e36)) + _e39), _e42);
72
+ } else {
73
+ let _e45 = (*uv_2)[0u];
74
+ let _e47 = uniforms.progress;
75
+ let _e48 = modifier;
76
+ let _e51 = modifier;
77
+ let _e54 = (*uv_2)[1u];
78
+ local = vec2<f32>(((_e45 + (_e47 * _e48)) - _e51), _e54);
79
+ }
80
+ let _e56 = local;
81
+ toP = _e56;
82
+ let _e57 = (*uv_2);
83
+ fromP = _e57;
84
+ let _e58 = toP;
85
+ param = _e58;
86
+ let _e59 = inBounds((&param));
87
+ if _e59 {
88
+ let _e60 = toP;
89
+ param_1 = _e60;
90
+ let _e61 = getToColor((&param_1));
91
+ local_1 = _e61;
92
+ } else {
93
+ let _e62 = fromP;
94
+ param_2 = _e62;
95
+ let _e63 = getFromColor((&param_2));
96
+ local_1 = _e63;
97
+ }
98
+ let _e64 = local_1;
99
+ return _e64;
100
+ }
101
+
102
+ fn main_1() {
103
+ var param_3: vec2<f32>;
104
+
105
+ let _e17 = _uv_1;
106
+ param_3 = _e17;
107
+ let _e18 = transition((&param_3));
108
+ _fragColor = _e18;
109
+ return;
110
+ }
111
+
112
+ @fragment
113
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
114
+ _uv_1 = _uv;
115
+ main_1();
116
+ let _e3 = _fragColor;
117
+ return _e3;
118
+ }
@@ -0,0 +1,109 @@
1
+ // splitSlideInOutHorizontal — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/splitSlideInOutHorizontal.glsl
2
+ // Author: OllyOllyOlly
3
+ // License: MIT
4
+ // Description: The halves of both images slide horizontally in opposite directions, out and in at once
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ reverse: i32,
11
+ }
12
+
13
+ @group(0) @binding(2)
14
+ var _from: texture_2d<f32>;
15
+ @group(0) @binding(1)
16
+ var _sampler: sampler;
17
+ @group(0) @binding(3)
18
+ var _to: texture_2d<f32>;
19
+ @group(0) @binding(0)
20
+ var<uniform> uniforms: Uniforms;
21
+ var<private> _fragColor: vec4<f32>;
22
+ var<private> _uv_1: vec2<f32>;
23
+
24
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e18 = (*uv)[0u];
26
+ let _e20 = (*uv)[1u];
27
+ let _e23 = textureSampleLevel(_to, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
28
+ return _e23;
29
+ }
30
+
31
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e18 = (*uv_1)[0u];
33
+ let _e20 = (*uv_1)[1u];
34
+ let _e23 = textureSampleLevel(_from, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
35
+ return _e23;
36
+ }
37
+
38
+ fn inBounds(p: ptr<function, vec2<f32>>) -> bool {
39
+ var phi_74_: bool;
40
+
41
+ let _e17 = (*p);
42
+ let _e19 = all((vec2<f32>(0f, 0f) < _e17));
43
+ phi_74_ = _e19;
44
+ if _e19 {
45
+ let _e20 = (*p);
46
+ phi_74_ = all((_e20 < vec2<f32>(1f, 1f)));
47
+ }
48
+ let _e24 = phi_74_;
49
+ return _e24;
50
+ }
51
+
52
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
53
+ var modifier: f32;
54
+ var fromP: vec2<f32>;
55
+ var toP: vec2<f32>;
56
+ var param: vec2<f32>;
57
+ var local: vec4<f32>;
58
+ var param_1: vec2<f32>;
59
+ var param_2: vec2<f32>;
60
+
61
+ let _e25 = (*uv_2)[1u];
62
+ let _e29 = uniforms.reverse;
63
+ modifier = (select(-1f, 1f, (_e25 > 0.5f)) * select(1f, -1f, (_e29 != 0i)));
64
+ let _e34 = (*uv_2)[0u];
65
+ let _e36 = uniforms.progress;
66
+ let _e37 = modifier;
67
+ let _e41 = (*uv_2)[1u];
68
+ fromP = vec2<f32>((_e34 + (_e36 * _e37)), _e41);
69
+ let _e44 = (*uv_2)[0u];
70
+ let _e46 = uniforms.progress;
71
+ let _e47 = modifier;
72
+ let _e50 = modifier;
73
+ let _e53 = (*uv_2)[1u];
74
+ toP = vec2<f32>(((_e44 + (_e46 * _e47)) - _e50), _e53);
75
+ let _e55 = fromP;
76
+ param = _e55;
77
+ let _e56 = inBounds((&param));
78
+ if _e56 {
79
+ let _e57 = fromP;
80
+ param_1 = _e57;
81
+ let _e58 = getFromColor((&param_1));
82
+ local = _e58;
83
+ } else {
84
+ let _e59 = toP;
85
+ param_2 = _e59;
86
+ let _e60 = getToColor((&param_2));
87
+ local = _e60;
88
+ }
89
+ let _e61 = local;
90
+ return _e61;
91
+ }
92
+
93
+ fn main_1() {
94
+ var param_3: vec2<f32>;
95
+
96
+ let _e17 = _uv_1;
97
+ param_3 = _e17;
98
+ let _e18 = transition((&param_3));
99
+ _fragColor = _e18;
100
+ return;
101
+ }
102
+
103
+ @fragment
104
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
105
+ _uv_1 = _uv;
106
+ main_1();
107
+ let _e3 = _fragColor;
108
+ return _e3;
109
+ }
@@ -0,0 +1,109 @@
1
+ // splitSlideInOutVertical — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/splitSlideInOutVertical.glsl
2
+ // Author: OllyOllyOlly
3
+ // License: MIT
4
+ // Description: The halves of both images slide vertically in opposite directions, out and in at once
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ reverse: i32,
11
+ }
12
+
13
+ @group(0) @binding(2)
14
+ var _from: texture_2d<f32>;
15
+ @group(0) @binding(1)
16
+ var _sampler: sampler;
17
+ @group(0) @binding(3)
18
+ var _to: texture_2d<f32>;
19
+ @group(0) @binding(0)
20
+ var<uniform> uniforms: Uniforms;
21
+ var<private> _fragColor: vec4<f32>;
22
+ var<private> _uv_1: vec2<f32>;
23
+
24
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e18 = (*uv)[0u];
26
+ let _e20 = (*uv)[1u];
27
+ let _e23 = textureSampleLevel(_to, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
28
+ return _e23;
29
+ }
30
+
31
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e18 = (*uv_1)[0u];
33
+ let _e20 = (*uv_1)[1u];
34
+ let _e23 = textureSampleLevel(_from, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
35
+ return _e23;
36
+ }
37
+
38
+ fn inBounds(p: ptr<function, vec2<f32>>) -> bool {
39
+ var phi_74_: bool;
40
+
41
+ let _e17 = (*p);
42
+ let _e19 = all((vec2<f32>(0f, 0f) < _e17));
43
+ phi_74_ = _e19;
44
+ if _e19 {
45
+ let _e20 = (*p);
46
+ phi_74_ = all((_e20 < vec2<f32>(1f, 1f)));
47
+ }
48
+ let _e24 = phi_74_;
49
+ return _e24;
50
+ }
51
+
52
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
53
+ var modifier: f32;
54
+ var fromP: vec2<f32>;
55
+ var toP: vec2<f32>;
56
+ var param: vec2<f32>;
57
+ var local: vec4<f32>;
58
+ var param_1: vec2<f32>;
59
+ var param_2: vec2<f32>;
60
+
61
+ let _e25 = (*uv_2)[0u];
62
+ let _e29 = uniforms.reverse;
63
+ modifier = (select(-1f, 1f, (_e25 > 0.5f)) * select(1f, -1f, (_e29 != 0i)));
64
+ let _e34 = (*uv_2)[0u];
65
+ let _e36 = (*uv_2)[1u];
66
+ let _e38 = uniforms.progress;
67
+ let _e39 = modifier;
68
+ fromP = vec2<f32>(_e34, (_e36 + (_e38 * _e39)));
69
+ let _e44 = (*uv_2)[0u];
70
+ let _e46 = (*uv_2)[1u];
71
+ let _e48 = uniforms.progress;
72
+ let _e49 = modifier;
73
+ let _e52 = modifier;
74
+ toP = vec2<f32>(_e44, ((_e46 + (_e48 * _e49)) - _e52));
75
+ let _e55 = fromP;
76
+ param = _e55;
77
+ let _e56 = inBounds((&param));
78
+ if _e56 {
79
+ let _e57 = fromP;
80
+ param_1 = _e57;
81
+ let _e58 = getFromColor((&param_1));
82
+ local = _e58;
83
+ } else {
84
+ let _e59 = toP;
85
+ param_2 = _e59;
86
+ let _e60 = getToColor((&param_2));
87
+ local = _e60;
88
+ }
89
+ let _e61 = local;
90
+ return _e61;
91
+ }
92
+
93
+ fn main_1() {
94
+ var param_3: vec2<f32>;
95
+
96
+ let _e17 = _uv_1;
97
+ param_3 = _e17;
98
+ let _e18 = transition((&param_3));
99
+ _fragColor = _e18;
100
+ return;
101
+ }
102
+
103
+ @fragment
104
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
105
+ _uv_1 = _uv;
106
+ main_1();
107
+ let _e3 = _fragColor;
108
+ return _e3;
109
+ }
@@ -0,0 +1,115 @@
1
+ // splitSlideInVertical — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/splitSlideInVertical.glsl
2
+ // Author: OllyOllyOlly
3
+ // License: MIT
4
+ // Description: The incoming image slides in as two halves moving vertically in opposite directions
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ reverse: i32,
11
+ }
12
+
13
+ @group(0) @binding(2)
14
+ var _from: texture_2d<f32>;
15
+ @group(0) @binding(1)
16
+ var _sampler: sampler;
17
+ @group(0) @binding(3)
18
+ var _to: texture_2d<f32>;
19
+ @group(0) @binding(0)
20
+ var<uniform> uniforms: Uniforms;
21
+ var<private> _fragColor: vec4<f32>;
22
+ var<private> _uv_1: vec2<f32>;
23
+
24
+ fn getFromColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
25
+ let _e18 = (*uv)[0u];
26
+ let _e20 = (*uv)[1u];
27
+ let _e23 = textureSampleLevel(_from, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
28
+ return _e23;
29
+ }
30
+
31
+ fn getToColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e18 = (*uv_1)[0u];
33
+ let _e20 = (*uv_1)[1u];
34
+ let _e23 = textureSampleLevel(_to, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
35
+ return _e23;
36
+ }
37
+
38
+ fn inBounds(p: ptr<function, vec2<f32>>) -> bool {
39
+ var phi_74_: bool;
40
+
41
+ let _e17 = (*p);
42
+ let _e19 = all((vec2<f32>(0f, 0f) < _e17));
43
+ phi_74_ = _e19;
44
+ if _e19 {
45
+ let _e20 = (*p);
46
+ phi_74_ = all((_e20 < vec2<f32>(1f, 1f)));
47
+ }
48
+ let _e24 = phi_74_;
49
+ return _e24;
50
+ }
51
+
52
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
53
+ var modifier: f32;
54
+ var p_1: vec2<f32>;
55
+ var local: vec2<f32>;
56
+ var param: vec2<f32>;
57
+ var local_1: vec4<f32>;
58
+ var param_1: vec2<f32>;
59
+ var param_2: vec2<f32>;
60
+
61
+ let _e25 = uniforms.reverse;
62
+ modifier = select(1f, -1f, (_e25 != 0i));
63
+ let _e29 = (*uv_2)[0u];
64
+ if (_e29 > 0.5f) {
65
+ let _e32 = (*uv_2)[0u];
66
+ let _e34 = (*uv_2)[1u];
67
+ let _e36 = uniforms.progress;
68
+ let _e37 = modifier;
69
+ let _e40 = modifier;
70
+ local = vec2<f32>(_e32, ((_e34 - (_e36 * _e37)) + _e40));
71
+ } else {
72
+ let _e44 = (*uv_2)[0u];
73
+ let _e46 = (*uv_2)[1u];
74
+ let _e48 = uniforms.progress;
75
+ let _e49 = modifier;
76
+ let _e52 = modifier;
77
+ local = vec2<f32>(_e44, ((_e46 + (_e48 * _e49)) - _e52));
78
+ }
79
+ let _e55 = local;
80
+ p_1 = _e55;
81
+ let _e56 = p_1;
82
+ param = _e56;
83
+ let _e57 = inBounds((&param));
84
+ if _e57 {
85
+ let _e58 = p_1;
86
+ param_1 = _e58;
87
+ let _e59 = getToColor((&param_1));
88
+ local_1 = _e59;
89
+ } else {
90
+ let _e60 = (*uv_2);
91
+ param_2 = _e60;
92
+ let _e61 = getFromColor((&param_2));
93
+ local_1 = _e61;
94
+ }
95
+ let _e62 = local_1;
96
+ return _e62;
97
+ }
98
+
99
+ fn main_1() {
100
+ var param_3: vec2<f32>;
101
+
102
+ let _e17 = _uv_1;
103
+ param_3 = _e17;
104
+ let _e18 = transition((&param_3));
105
+ _fragColor = _e18;
106
+ return;
107
+ }
108
+
109
+ @fragment
110
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
111
+ _uv_1 = _uv;
112
+ main_1();
113
+ let _e3 = _fragColor;
114
+ return _e3;
115
+ }