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,83 @@
1
+ // coord-from-in — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/coord-from-in.glsl
2
+ // Author: haiyoucuv
3
+ // License: MIT
4
+ // Description: A crossfade in which the colors of one image displace the other
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 getFromColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
24
+ let _e13 = (*uv)[0u];
25
+ let _e15 = (*uv)[1u];
26
+ let _e18 = textureSampleLevel(_from, _sampler, vec2<f32>(_e13, (1f - _e15)), 0f);
27
+ return _e18;
28
+ }
29
+
30
+ fn getToColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
31
+ let _e13 = (*uv_1)[0u];
32
+ let _e15 = (*uv_1)[1u];
33
+ let _e18 = textureSampleLevel(_to, _sampler, vec2<f32>(_e13, (1f - _e15)), 0f);
34
+ return _e18;
35
+ }
36
+
37
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
38
+ var coordTo: vec4<f32>;
39
+ var param: vec2<f32>;
40
+ var coordFrom: vec4<f32>;
41
+ var param_1: vec2<f32>;
42
+ var param_2: vec2<f32>;
43
+ var param_3: vec2<f32>;
44
+
45
+ let _e18 = (*uv_2);
46
+ param = _e18;
47
+ let _e19 = getToColor((&param));
48
+ coordTo = _e19;
49
+ let _e20 = (*uv_2);
50
+ param_1 = _e20;
51
+ let _e21 = getFromColor((&param_1));
52
+ coordFrom = _e21;
53
+ let _e22 = (*uv_2);
54
+ let _e23 = coordTo;
55
+ let _e26 = uniforms.progress;
56
+ param_2 = mix(_e22, _e23.xy, vec2(_e26));
57
+ let _e29 = getFromColor((&param_2));
58
+ let _e30 = coordFrom;
59
+ let _e32 = (*uv_2);
60
+ let _e34 = uniforms.progress;
61
+ param_3 = mix(_e30.xy, _e32, vec2(_e34));
62
+ let _e37 = getToColor((&param_3));
63
+ let _e39 = uniforms.progress;
64
+ return mix(_e29, _e37, vec4(_e39));
65
+ }
66
+
67
+ fn main_1() {
68
+ var param_4: vec2<f32>;
69
+
70
+ let _e12 = _uv_1;
71
+ param_4 = _e12;
72
+ let _e13 = transition((&param_4));
73
+ _fragColor = _e13;
74
+ return;
75
+ }
76
+
77
+ @fragment
78
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
79
+ _uv_1 = _uv;
80
+ main_1();
81
+ let _e3 = _fragColor;
82
+ return _e3;
83
+ }
@@ -0,0 +1,96 @@
1
+ // crosshatch — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/crosshatch.glsl
2
+ // Author: pthrasher
3
+ // License: MIT
4
+ // Description: The incoming image appears through a crosshatch of lines spreading from the center
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
+ threshold: f32,
12
+ fadeEdge: f32,
13
+ }
14
+
15
+ @group(0) @binding(2)
16
+ var _from: texture_2d<f32>;
17
+ @group(0) @binding(1)
18
+ var _sampler: sampler;
19
+ @group(0) @binding(3)
20
+ var _to: texture_2d<f32>;
21
+ @group(0) @binding(0)
22
+ var<uniform> uniforms: Uniforms;
23
+ var<private> _fragColor: vec4<f32>;
24
+ var<private> _uv_1: vec2<f32>;
25
+
26
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
27
+ let _e20 = (*uv)[0u];
28
+ let _e22 = (*uv)[1u];
29
+ let _e25 = textureSampleLevel(_to, _sampler, vec2<f32>(_e20, (1f - _e22)), 0f);
30
+ return _e25;
31
+ }
32
+
33
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
34
+ let _e20 = (*uv_1)[0u];
35
+ let _e22 = (*uv_1)[1u];
36
+ let _e25 = textureSampleLevel(_from, _sampler, vec2<f32>(_e20, (1f - _e22)), 0f);
37
+ return _e25;
38
+ }
39
+
40
+ fn rand(co: ptr<function, vec2<f32>>) -> f32 {
41
+ let _e19 = (*co);
42
+ return fract((sin(dot(_e19, vec2<f32>(12.9898f, 78.233f))) * 43758.547f));
43
+ }
44
+
45
+ fn transition(p: ptr<function, vec2<f32>>) -> vec4<f32> {
46
+ var dist: f32;
47
+ var r: f32;
48
+ var param: vec2<f32>;
49
+ var param_1: vec2<f32>;
50
+ var param_2: vec2<f32>;
51
+ var param_3: vec2<f32>;
52
+
53
+ let _e26 = uniforms.center;
54
+ let _e27 = (*p);
55
+ let _e30 = uniforms.threshold;
56
+ dist = (distance(_e26, _e27) / _e30);
57
+ let _e33 = uniforms.progress;
58
+ let _e35 = (*p)[1u];
59
+ param = vec2<f32>(_e35, 0f);
60
+ let _e37 = rand((&param));
61
+ let _e39 = (*p)[0u];
62
+ param_1 = vec2<f32>(0f, _e39);
63
+ let _e41 = rand((&param_1));
64
+ r = (_e33 - min(_e37, _e41));
65
+ let _e44 = (*p);
66
+ param_2 = _e44;
67
+ let _e45 = getFromColor((&param_2));
68
+ let _e46 = (*p);
69
+ param_3 = _e46;
70
+ let _e47 = getToColor((&param_3));
71
+ let _e48 = dist;
72
+ let _e49 = r;
73
+ let _e52 = uniforms.fadeEdge;
74
+ let _e55 = uniforms.progress;
75
+ let _e59 = uniforms.fadeEdge;
76
+ let _e61 = uniforms.progress;
77
+ return mix(_e45, _e47, vec4(mix(0f, mix(step(_e48, _e49), 1f, smoothstep((1f - _e52), 1f, _e55)), smoothstep(0f, _e59, _e61))));
78
+ }
79
+
80
+ fn main_1() {
81
+ var param_4: vec2<f32>;
82
+
83
+ let _e19 = _uv_1;
84
+ param_4 = _e19;
85
+ let _e20 = transition((&param_4));
86
+ _fragColor = _e20;
87
+ return;
88
+ }
89
+
90
+ @fragment
91
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
92
+ _uv_1 = _uv;
93
+ main_1();
94
+ let _e3 = _fragColor;
95
+ return _e3;
96
+ }
@@ -0,0 +1,75 @@
1
+ // crosswarp — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/crosswarp.glsl
2
+ // Author: Eke Péter <peterekepeter@gmail.com>
3
+ // License: MIT
4
+ // Description: The outgoing image zooms in while the incoming one zooms out into place, sweeping from right to left
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 _e15 = (*uv)[0u];
25
+ let _e17 = (*uv)[1u];
26
+ let _e20 = textureSampleLevel(_to, _sampler, vec2<f32>(_e15, (1f - _e17)), 0f);
27
+ return _e20;
28
+ }
29
+
30
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
31
+ let _e15 = (*uv_1)[0u];
32
+ let _e17 = (*uv_1)[1u];
33
+ let _e20 = textureSampleLevel(_from, _sampler, vec2<f32>(_e15, (1f - _e17)), 0f);
34
+ return _e20;
35
+ }
36
+
37
+ fn transition(p: ptr<function, vec2<f32>>) -> vec4<f32> {
38
+ var x: f32;
39
+ var param: vec2<f32>;
40
+ var param_1: vec2<f32>;
41
+
42
+ let _e18 = uniforms.progress;
43
+ x = _e18;
44
+ let _e19 = x;
45
+ let _e22 = (*p)[0u];
46
+ x = smoothstep(0f, 1f, (((_e19 * 2f) + _e22) - 1f));
47
+ let _e26 = (*p);
48
+ let _e29 = x;
49
+ param = (((_e26 - vec2(0.5f)) * (1f - _e29)) + vec2(0.5f));
50
+ let _e34 = getFromColor((&param));
51
+ let _e35 = (*p);
52
+ let _e38 = x;
53
+ param_1 = (((_e35 - vec2(0.5f)) * _e38) + vec2(0.5f));
54
+ let _e42 = getToColor((&param_1));
55
+ let _e43 = x;
56
+ return mix(_e34, _e42, vec4(_e43));
57
+ }
58
+
59
+ fn main_1() {
60
+ var param_2: vec2<f32>;
61
+
62
+ let _e14 = _uv_1;
63
+ param_2 = _e14;
64
+ let _e15 = transition((&param_2));
65
+ _fragColor = _e15;
66
+ return;
67
+ }
68
+
69
+ @fragment
70
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
71
+ _uv_1 = _uv;
72
+ main_1();
73
+ let _e3 = _fragColor;
74
+ return _e3;
75
+ }
package/wgsl/cube.wgsl ADDED
@@ -0,0 +1,217 @@
1
+ // cube — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/cube.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: The two images are faces of a rotating 3D cube, with a floor reflection
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ persp: f32,
11
+ unzoom: f32,
12
+ reflection: f32,
13
+ floating: 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 _e27 = (*uv)[0u];
29
+ let _e29 = (*uv)[1u];
30
+ let _e32 = textureSampleLevel(_to, _sampler, vec2<f32>(_e27, (1f - _e29)), 0f);
31
+ return _e32;
32
+ }
33
+
34
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
35
+ let _e27 = (*uv_1)[0u];
36
+ let _e29 = (*uv_1)[1u];
37
+ let _e32 = textureSampleLevel(_from, _sampler, vec2<f32>(_e27, (1f - _e29)), 0f);
38
+ return _e32;
39
+ }
40
+
41
+ fn inBounds(p: ptr<function, vec2<f32>>) -> bool {
42
+ var phi_109_: bool;
43
+
44
+ let _e26 = (*p);
45
+ let _e28 = all((vec2<f32>(0f, 0f) < _e26));
46
+ phi_109_ = _e28;
47
+ if _e28 {
48
+ let _e29 = (*p);
49
+ phi_109_ = all((_e29 < vec2<f32>(1f, 1f)));
50
+ }
51
+ let _e33 = phi_109_;
52
+ return _e33;
53
+ }
54
+
55
+ fn project(p_1: ptr<function, vec2<f32>>) -> vec2<f32> {
56
+ let _e26 = (*p_1);
57
+ let _e29 = uniforms.floating;
58
+ return ((_e26 * vec2<f32>(1f, -1.2f)) + vec2<f32>(0f, (-(_e29) / 100f)));
59
+ }
60
+
61
+ fn bgColor(p_2: ptr<function, vec2<f32>>, pfr: ptr<function, vec2<f32>>, pto: ptr<function, vec2<f32>>) -> vec4<f32> {
62
+ var c: vec4<f32>;
63
+ var param: vec2<f32>;
64
+ var param_1: vec2<f32>;
65
+ var param_2: vec2<f32>;
66
+ var param_3: vec2<f32>;
67
+ var param_4: vec2<f32>;
68
+ var param_5: vec2<f32>;
69
+
70
+ c = vec4<f32>(0f, 0f, 0f, 1f);
71
+ let _e35 = (*pfr);
72
+ param = _e35;
73
+ let _e36 = project((&param));
74
+ (*pfr) = _e36;
75
+ let _e37 = (*pfr);
76
+ param_1 = _e37;
77
+ let _e38 = inBounds((&param_1));
78
+ if _e38 {
79
+ let _e39 = (*pfr);
80
+ param_2 = _e39;
81
+ let _e40 = getFromColor((&param_2));
82
+ let _e42 = uniforms.reflection;
83
+ let _e44 = (*pfr)[1u];
84
+ let _e49 = c;
85
+ c = (_e49 + mix(vec4<f32>(0f, 0f, 0f, 0f), _e40, vec4((_e42 * mix(1f, 0f, _e44)))));
86
+ }
87
+ let _e51 = (*pto);
88
+ param_3 = _e51;
89
+ let _e52 = project((&param_3));
90
+ (*pto) = _e52;
91
+ let _e53 = (*pto);
92
+ param_4 = _e53;
93
+ let _e54 = inBounds((&param_4));
94
+ if _e54 {
95
+ let _e55 = (*pto);
96
+ param_5 = _e55;
97
+ let _e56 = getToColor((&param_5));
98
+ let _e58 = uniforms.reflection;
99
+ let _e60 = (*pto)[1u];
100
+ let _e65 = c;
101
+ c = (_e65 + mix(vec4<f32>(0f, 0f, 0f, 0f), _e56, vec4((_e58 * mix(1f, 0f, _e60)))));
102
+ }
103
+ let _e67 = c;
104
+ return _e67;
105
+ }
106
+
107
+ fn xskew(p_3: ptr<function, vec2<f32>>, persp: ptr<function, f32>, center: ptr<function, f32>) -> vec2<f32> {
108
+ var x: f32;
109
+
110
+ let _e30 = (*p_3)[0u];
111
+ let _e32 = (*p_3)[0u];
112
+ let _e34 = (*center);
113
+ x = mix(_e30, (1f - _e32), _e34);
114
+ let _e36 = x;
115
+ let _e38 = (*p_3)[1u];
116
+ let _e39 = (*persp);
117
+ let _e42 = x;
118
+ let _e45 = (*persp);
119
+ let _e47 = x;
120
+ let _e52 = (*center);
121
+ let _e57 = (*center);
122
+ let _e60 = (*center);
123
+ let _e66 = (*center);
124
+ return (((vec2<f32>(_e36, ((_e38 - ((0.5f * (1f - _e39)) * _e42)) / (1f + ((_e45 - 1f) * _e47)))) - vec2<f32>((0.5f - distance(_e52, 0.5f)), 0f)) * vec2<f32>(((0.5f / distance(_e57, 0.5f)) * select(-1f, 1f, (_e60 < 0.5f))), 1f)) + vec2<f32>(select(1f, 0f, (_e66 < 0.5f)), 0f));
125
+ }
126
+
127
+ fn transition(op: ptr<function, vec2<f32>>) -> vec4<f32> {
128
+ var uz: f32;
129
+ var p_4: vec2<f32>;
130
+ var fromP: vec2<f32>;
131
+ var param_6: vec2<f32>;
132
+ var param_7: f32;
133
+ var param_8: f32;
134
+ var toP: vec2<f32>;
135
+ var param_9: vec2<f32>;
136
+ var param_10: f32;
137
+ var param_11: f32;
138
+ var param_12: vec2<f32>;
139
+ var param_13: vec2<f32>;
140
+ var param_14: vec2<f32>;
141
+ var param_15: vec2<f32>;
142
+ var param_16: vec2<f32>;
143
+ var param_17: vec2<f32>;
144
+ var param_18: vec2<f32>;
145
+
146
+ let _e44 = uniforms.unzoom;
147
+ let _e47 = uniforms.progress;
148
+ uz = ((_e44 * 2f) * (0.5f - distance(0.5f, _e47)));
149
+ let _e51 = uz;
150
+ let _e54 = uz;
151
+ let _e56 = (*op);
152
+ p_4 = (vec2((-(_e51) * 0.5f)) + (_e56 * (1f + _e54)));
153
+ let _e60 = p_4;
154
+ let _e62 = uniforms.progress;
155
+ let _e66 = uniforms.progress;
156
+ let _e71 = uniforms.progress;
157
+ let _e73 = uniforms.persp;
158
+ param_6 = ((_e60 - vec2<f32>(_e62, 0f)) / vec2<f32>((1f - _e66), 1f));
159
+ param_7 = (1f - mix(_e71, 0f, _e73));
160
+ param_8 = 0f;
161
+ let _e76 = xskew((&param_6), (&param_7), (&param_8));
162
+ fromP = _e76;
163
+ let _e77 = p_4;
164
+ let _e79 = uniforms.progress;
165
+ let _e83 = uniforms.progress;
166
+ let _e86 = uniforms.persp;
167
+ param_9 = (_e77 / vec2<f32>(_e79, 1f));
168
+ param_10 = mix(pow(_e83, 2f), 1f, _e86);
169
+ param_11 = 1f;
170
+ let _e88 = xskew((&param_9), (&param_10), (&param_11));
171
+ toP = _e88;
172
+ let _e89 = fromP;
173
+ param_12 = _e89;
174
+ let _e90 = inBounds((&param_12));
175
+ if _e90 {
176
+ let _e91 = fromP;
177
+ param_13 = _e91;
178
+ let _e92 = getFromColor((&param_13));
179
+ return _e92;
180
+ } else {
181
+ let _e93 = toP;
182
+ param_14 = _e93;
183
+ let _e94 = inBounds((&param_14));
184
+ if _e94 {
185
+ let _e95 = toP;
186
+ param_15 = _e95;
187
+ let _e96 = getToColor((&param_15));
188
+ return _e96;
189
+ }
190
+ }
191
+ let _e97 = (*op);
192
+ param_16 = _e97;
193
+ let _e98 = fromP;
194
+ param_17 = _e98;
195
+ let _e99 = toP;
196
+ param_18 = _e99;
197
+ let _e100 = bgColor((&param_16), (&param_17), (&param_18));
198
+ return _e100;
199
+ }
200
+
201
+ fn main_1() {
202
+ var param_19: vec2<f32>;
203
+
204
+ let _e26 = _uv_1;
205
+ param_19 = _e26;
206
+ let _e27 = transition((&param_19));
207
+ _fragColor = _e27;
208
+ return;
209
+ }
210
+
211
+ @fragment
212
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
213
+ _uv_1 = _uv;
214
+ main_1();
215
+ let _e3 = _fragColor;
216
+ return _e3;
217
+ }
@@ -0,0 +1,83 @@
1
+ // directional-easing — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/directional-easing.glsl
2
+ // Author: Max Plotnikov
3
+ // License: MIT
4
+ // Description: Like Directional, with an eased movement
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ direction: vec2<f32>,
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 _e15 = (*uv)[0u];
26
+ let _e17 = (*uv)[1u];
27
+ let _e20 = textureSampleLevel(_from, _sampler, vec2<f32>(_e15, (1f - _e17)), 0f);
28
+ return _e20;
29
+ }
30
+
31
+ fn getToColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
32
+ let _e15 = (*uv_1)[0u];
33
+ let _e17 = (*uv_1)[1u];
34
+ let _e20 = textureSampleLevel(_to, _sampler, vec2<f32>(_e15, (1f - _e17)), 0f);
35
+ return _e20;
36
+ }
37
+
38
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
39
+ var easing: f32;
40
+ var p: vec2<f32>;
41
+ var f: vec2<f32>;
42
+ var param: vec2<f32>;
43
+ var param_1: vec2<f32>;
44
+
45
+ let _e20 = uniforms.progress;
46
+ let _e23 = uniforms.progress;
47
+ easing = sqrt(((2f - _e20) * _e23));
48
+ let _e26 = (*uv_2);
49
+ let _e27 = easing;
50
+ let _e29 = uniforms.direction;
51
+ p = (_e26 + (sign(_e29) * _e27));
52
+ let _e33 = p;
53
+ f = fract(_e33);
54
+ let _e35 = f;
55
+ param = _e35;
56
+ let _e36 = getToColor((&param));
57
+ let _e37 = f;
58
+ param_1 = _e37;
59
+ let _e38 = getFromColor((&param_1));
60
+ let _e40 = p[1u];
61
+ let _e43 = p[1u];
62
+ let _e47 = p[0u];
63
+ let _e51 = p[0u];
64
+ return mix(_e36, _e38, vec4((((step(0f, _e40) * step(_e43, 1f)) * step(0f, _e47)) * step(_e51, 1f))));
65
+ }
66
+
67
+ fn main_1() {
68
+ var param_2: vec2<f32>;
69
+
70
+ let _e14 = _uv_1;
71
+ param_2 = _e14;
72
+ let _e15 = transition((&param_2));
73
+ _fragColor = _e15;
74
+ return;
75
+ }
76
+
77
+ @fragment
78
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
79
+ _uv_1 = _uv;
80
+ main_1();
81
+ let _e3 = _fragColor;
82
+ return _e3;
83
+ }
@@ -0,0 +1,92 @@
1
+ // directionalwarp — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/directionalwarp.glsl
2
+ // Author: pschroen
3
+ // License: MIT
4
+ // Description: A diagonal wipe with a warped, smeared edge
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ smoothness: f32,
11
+ direction: vec2<f32>,
12
+ }
13
+
14
+ @group(0) @binding(2)
15
+ var _from: texture_2d<f32>;
16
+ @group(0) @binding(1)
17
+ var _sampler: sampler;
18
+ @group(0) @binding(3)
19
+ var _to: texture_2d<f32>;
20
+ @group(0) @binding(0)
21
+ var<uniform> uniforms: Uniforms;
22
+ var<private> _fragColor: vec4<f32>;
23
+ var<private> _uv_1: vec2<f32>;
24
+
25
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
26
+ let _e17 = (*uv)[0u];
27
+ let _e19 = (*uv)[1u];
28
+ let _e22 = textureSampleLevel(_to, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
29
+ return _e22;
30
+ }
31
+
32
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
33
+ let _e17 = (*uv_1)[0u];
34
+ let _e19 = (*uv_1)[1u];
35
+ let _e22 = textureSampleLevel(_from, _sampler, vec2<f32>(_e17, (1f - _e19)), 0f);
36
+ return _e22;
37
+ }
38
+
39
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
40
+ var v: vec2<f32>;
41
+ var d: f32;
42
+ var m: f32;
43
+ var param: vec2<f32>;
44
+ var param_1: vec2<f32>;
45
+
46
+ let _e22 = uniforms.direction;
47
+ v = normalize(_e22);
48
+ let _e25 = v[0u];
49
+ let _e28 = v[1u];
50
+ let _e31 = v;
51
+ v = (_e31 / vec2((abs(_e25) + abs(_e28))));
52
+ let _e35 = v[0u];
53
+ let _e38 = v[1u];
54
+ d = ((_e35 * 0.5f) + (_e38 * 0.5f));
55
+ let _e42 = uniforms.smoothness;
56
+ let _e45 = v[0u];
57
+ let _e47 = (*uv_2)[0u];
58
+ let _e50 = v[1u];
59
+ let _e52 = (*uv_2)[1u];
60
+ let _e55 = d;
61
+ let _e58 = uniforms.progress;
62
+ let _e60 = uniforms.smoothness;
63
+ m = (1f - smoothstep(-(_e42), 0f, (((_e45 * _e47) + (_e50 * _e52)) - ((_e55 - 0.5f) + (_e58 * (1f + _e60))))));
64
+ let _e67 = (*uv_2);
65
+ let _e70 = m;
66
+ param = (((_e67 - vec2(0.5f)) * (1f - _e70)) + vec2(0.5f));
67
+ let _e75 = getFromColor((&param));
68
+ let _e76 = (*uv_2);
69
+ let _e79 = m;
70
+ param_1 = (((_e76 - vec2(0.5f)) * _e79) + vec2(0.5f));
71
+ let _e83 = getToColor((&param_1));
72
+ let _e84 = m;
73
+ return mix(_e75, _e83, vec4(_e84));
74
+ }
75
+
76
+ fn main_1() {
77
+ var param_2: vec2<f32>;
78
+
79
+ let _e16 = _uv_1;
80
+ param_2 = _e16;
81
+ let _e17 = transition((&param_2));
82
+ _fragColor = _e17;
83
+ return;
84
+ }
85
+
86
+ @fragment
87
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
88
+ _uv_1 = _uv;
89
+ main_1();
90
+ let _e3 = _fragColor;
91
+ return _e3;
92
+ }