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,331 @@
1
+ // BowTieHorizontal — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/BowTieHorizontal.glsl
2
+ // Author: huynx
3
+ // License: MIT
4
+ // Description: Two triangles grow from the left and right edges into a bow tie that reveals the incoming image
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 check(p1_: ptr<function, vec2<f32>>, p2_: ptr<function, vec2<f32>>, p3_: ptr<function, vec2<f32>>) -> f32 {
24
+ let _e25 = (*p1_)[0u];
25
+ let _e27 = (*p3_)[0u];
26
+ let _e30 = (*p2_)[1u];
27
+ let _e32 = (*p3_)[1u];
28
+ let _e36 = (*p2_)[0u];
29
+ let _e38 = (*p3_)[0u];
30
+ let _e41 = (*p1_)[1u];
31
+ let _e43 = (*p3_)[1u];
32
+ return (((_e25 - _e27) * (_e30 - _e32)) - ((_e36 - _e38) * (_e41 - _e43)));
33
+ }
34
+
35
+ fn PointInTriangle(pt: ptr<function, vec2<f32>>, p1_1: ptr<function, vec2<f32>>, p2_1: ptr<function, vec2<f32>>, p3_1: ptr<function, vec2<f32>>) -> bool {
36
+ var b1_: bool;
37
+ var param: vec2<f32>;
38
+ var param_1: vec2<f32>;
39
+ var param_2: vec2<f32>;
40
+ var b2_: bool;
41
+ var param_3: vec2<f32>;
42
+ var param_4: vec2<f32>;
43
+ var param_5: vec2<f32>;
44
+ var b3_: bool;
45
+ var param_6: vec2<f32>;
46
+ var param_7: vec2<f32>;
47
+ var param_8: vec2<f32>;
48
+
49
+ let _e37 = (*pt);
50
+ param = _e37;
51
+ let _e38 = (*p1_1);
52
+ param_1 = _e38;
53
+ let _e39 = (*p2_1);
54
+ param_2 = _e39;
55
+ let _e40 = check((&param), (&param_1), (&param_2));
56
+ b1_ = (_e40 < 0f);
57
+ let _e42 = (*pt);
58
+ param_3 = _e42;
59
+ let _e43 = (*p2_1);
60
+ param_4 = _e43;
61
+ let _e44 = (*p3_1);
62
+ param_5 = _e44;
63
+ let _e45 = check((&param_3), (&param_4), (&param_5));
64
+ b2_ = (_e45 < 0f);
65
+ let _e47 = (*pt);
66
+ param_6 = _e47;
67
+ let _e48 = (*p3_1);
68
+ param_7 = _e48;
69
+ let _e49 = (*p1_1);
70
+ param_8 = _e49;
71
+ let _e50 = check((&param_6), (&param_7), (&param_8));
72
+ b3_ = (_e50 < 0f);
73
+ let _e52 = b1_;
74
+ let _e53 = b2_;
75
+ let _e55 = b2_;
76
+ let _e56 = b3_;
77
+ return ((_e52 == _e53) && (_e55 == _e56));
78
+ }
79
+
80
+ fn in_right_triangle(p: ptr<function, vec2<f32>>) -> bool {
81
+ var vertex1_: vec2<f32>;
82
+ var vertex2_: vec2<f32>;
83
+ var vertex3_: vec2<f32>;
84
+ var param_9: vec2<f32>;
85
+ var param_10: vec2<f32>;
86
+ var param_11: vec2<f32>;
87
+ var param_12: vec2<f32>;
88
+
89
+ let _e30 = uniforms.progress;
90
+ vertex1_ = vec2<f32>((1f - _e30), 0.5f);
91
+ let _e34 = uniforms.progress;
92
+ vertex2_ = vec2<f32>(1f, (0.5f - _e34));
93
+ let _e38 = uniforms.progress;
94
+ vertex3_ = vec2<f32>(1f, (0.5f + _e38));
95
+ let _e41 = (*p);
96
+ param_9 = _e41;
97
+ let _e42 = vertex1_;
98
+ param_10 = _e42;
99
+ let _e43 = vertex2_;
100
+ param_11 = _e43;
101
+ let _e44 = vertex3_;
102
+ param_12 = _e44;
103
+ let _e45 = PointInTriangle((&param_9), (&param_10), (&param_11), (&param_12));
104
+ if _e45 {
105
+ return true;
106
+ }
107
+ return false;
108
+ }
109
+
110
+ fn blur_edge(bot1_: ptr<function, vec2<f32>>, bot2_: ptr<function, vec2<f32>>, top: ptr<function, vec2<f32>>, testPt: ptr<function, vec2<f32>>) -> f32 {
111
+ var lineDir: vec2<f32>;
112
+ var perpDir: vec2<f32>;
113
+ var dirToPt1_: vec2<f32>;
114
+ var dist1_: f32;
115
+ var min_dist: f32;
116
+
117
+ let _e30 = (*bot1_);
118
+ let _e31 = (*top);
119
+ lineDir = (_e30 - _e31);
120
+ let _e34 = lineDir[1u];
121
+ let _e36 = lineDir[0u];
122
+ perpDir = vec2<f32>(_e34, -(_e36));
123
+ let _e39 = (*bot1_);
124
+ let _e40 = (*testPt);
125
+ dirToPt1_ = (_e39 - _e40);
126
+ let _e42 = perpDir;
127
+ let _e44 = dirToPt1_;
128
+ dist1_ = abs(dot(normalize(_e42), _e44));
129
+ let _e47 = (*bot2_);
130
+ let _e48 = (*top);
131
+ lineDir = (_e47 - _e48);
132
+ let _e51 = lineDir[1u];
133
+ let _e53 = lineDir[0u];
134
+ perpDir = vec2<f32>(_e51, -(_e53));
135
+ let _e56 = (*bot2_);
136
+ let _e57 = (*testPt);
137
+ dirToPt1_ = (_e56 - _e57);
138
+ let _e59 = perpDir;
139
+ let _e61 = dirToPt1_;
140
+ let _e64 = dist1_;
141
+ min_dist = min(abs(dot(normalize(_e59), _e61)), _e64);
142
+ let _e66 = min_dist;
143
+ if (_e66 < 0.005f) {
144
+ let _e68 = min_dist;
145
+ return (_e68 / 0.005f);
146
+ } else {
147
+ return 1f;
148
+ }
149
+ }
150
+
151
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
152
+ let _e23 = (*uv)[0u];
153
+ let _e25 = (*uv)[1u];
154
+ let _e28 = textureSampleLevel(_to, _sampler, vec2<f32>(_e23, (1f - _e25)), 0f);
155
+ return _e28;
156
+ }
157
+
158
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
159
+ let _e23 = (*uv_1)[0u];
160
+ let _e25 = (*uv_1)[1u];
161
+ let _e28 = textureSampleLevel(_from, _sampler, vec2<f32>(_e23, (1f - _e25)), 0f);
162
+ return _e28;
163
+ }
164
+
165
+ fn in_left_triangle(p_1: ptr<function, vec2<f32>>) -> bool {
166
+ var vertex1_1: vec2<f32>;
167
+ var vertex2_1: vec2<f32>;
168
+ var vertex3_1: vec2<f32>;
169
+ var param_13: vec2<f32>;
170
+ var param_14: vec2<f32>;
171
+ var param_15: vec2<f32>;
172
+ var param_16: vec2<f32>;
173
+
174
+ let _e30 = uniforms.progress;
175
+ vertex1_1 = vec2<f32>(_e30, 0.5f);
176
+ let _e33 = uniforms.progress;
177
+ vertex2_1 = vec2<f32>(0f, (0.5f - _e33));
178
+ let _e37 = uniforms.progress;
179
+ vertex3_1 = vec2<f32>(0f, (0.5f + _e37));
180
+ let _e40 = (*p_1);
181
+ param_13 = _e40;
182
+ let _e41 = vertex1_1;
183
+ param_14 = _e41;
184
+ let _e42 = vertex2_1;
185
+ param_15 = _e42;
186
+ let _e43 = vertex3_1;
187
+ param_16 = _e43;
188
+ let _e44 = PointInTriangle((&param_13), (&param_14), (&param_15), (&param_16));
189
+ if _e44 {
190
+ return true;
191
+ }
192
+ return false;
193
+ }
194
+
195
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
196
+ var param_17: vec2<f32>;
197
+ var param_18: vec2<f32>;
198
+ var vertex1_2: vec2<f32>;
199
+ var vertex2_2: vec2<f32>;
200
+ var vertex3_2: vec2<f32>;
201
+ var param_19: vec2<f32>;
202
+ var param_20: vec2<f32>;
203
+ var param_21: vec2<f32>;
204
+ var param_22: vec2<f32>;
205
+ var param_23: vec2<f32>;
206
+ var param_24: vec2<f32>;
207
+ var param_25: vec2<f32>;
208
+ var param_26: vec2<f32>;
209
+ var param_27: vec2<f32>;
210
+ var vertex1_3: vec2<f32>;
211
+ var vertex2_3: vec2<f32>;
212
+ var vertex3_3: vec2<f32>;
213
+ var param_28: vec2<f32>;
214
+ var param_29: vec2<f32>;
215
+ var param_30: vec2<f32>;
216
+ var param_31: vec2<f32>;
217
+ var param_32: vec2<f32>;
218
+ var param_33: vec2<f32>;
219
+ var param_34: vec2<f32>;
220
+ var param_35: vec2<f32>;
221
+
222
+ let _e47 = (*uv_2);
223
+ param_17 = _e47;
224
+ let _e48 = in_left_triangle((&param_17));
225
+ if _e48 {
226
+ let _e50 = uniforms.progress;
227
+ if (_e50 < 0.1f) {
228
+ let _e52 = (*uv_2);
229
+ param_18 = _e52;
230
+ let _e53 = getFromColor((&param_18));
231
+ return _e53;
232
+ }
233
+ let _e55 = (*uv_2)[0u];
234
+ if (_e55 < 0.5f) {
235
+ let _e58 = uniforms.progress;
236
+ vertex1_2 = vec2<f32>(_e58, 0.5f);
237
+ let _e61 = uniforms.progress;
238
+ vertex2_2 = vec2<f32>(0f, (0.5f - _e61));
239
+ let _e65 = uniforms.progress;
240
+ vertex3_2 = vec2<f32>(0f, (0.5f + _e65));
241
+ let _e68 = (*uv_2);
242
+ param_19 = _e68;
243
+ let _e69 = getFromColor((&param_19));
244
+ let _e70 = (*uv_2);
245
+ param_20 = _e70;
246
+ let _e71 = getToColor((&param_20));
247
+ let _e72 = vertex2_2;
248
+ param_21 = _e72;
249
+ let _e73 = vertex3_2;
250
+ param_22 = _e73;
251
+ let _e74 = vertex1_2;
252
+ param_23 = _e74;
253
+ let _e75 = (*uv_2);
254
+ param_24 = _e75;
255
+ let _e76 = blur_edge((&param_21), (&param_22), (&param_23), (&param_24));
256
+ return mix(_e69, _e71, vec4(_e76));
257
+ } else {
258
+ let _e80 = uniforms.progress;
259
+ if (_e80 > 0f) {
260
+ let _e82 = (*uv_2);
261
+ param_25 = _e82;
262
+ let _e83 = getToColor((&param_25));
263
+ return _e83;
264
+ } else {
265
+ let _e84 = (*uv_2);
266
+ param_26 = _e84;
267
+ let _e85 = getFromColor((&param_26));
268
+ return _e85;
269
+ }
270
+ }
271
+ } else {
272
+ let _e86 = (*uv_2);
273
+ param_27 = _e86;
274
+ let _e87 = in_right_triangle((&param_27));
275
+ if _e87 {
276
+ let _e89 = (*uv_2)[0u];
277
+ if (_e89 >= 0.5f) {
278
+ let _e92 = uniforms.progress;
279
+ vertex1_3 = vec2<f32>((1f - _e92), 0.5f);
280
+ let _e96 = uniforms.progress;
281
+ vertex2_3 = vec2<f32>(1f, (0.5f - _e96));
282
+ let _e100 = uniforms.progress;
283
+ vertex3_3 = vec2<f32>(1f, (0.5f + _e100));
284
+ let _e103 = (*uv_2);
285
+ param_28 = _e103;
286
+ let _e104 = getFromColor((&param_28));
287
+ let _e105 = (*uv_2);
288
+ param_29 = _e105;
289
+ let _e106 = getToColor((&param_29));
290
+ let _e107 = vertex2_3;
291
+ param_30 = _e107;
292
+ let _e108 = vertex3_3;
293
+ param_31 = _e108;
294
+ let _e109 = vertex1_3;
295
+ param_32 = _e109;
296
+ let _e110 = (*uv_2);
297
+ param_33 = _e110;
298
+ let _e111 = blur_edge((&param_30), (&param_31), (&param_32), (&param_33));
299
+ return mix(_e104, _e106, vec4(_e111));
300
+ } else {
301
+ let _e114 = (*uv_2);
302
+ param_34 = _e114;
303
+ let _e115 = getFromColor((&param_34));
304
+ return _e115;
305
+ }
306
+ } else {
307
+ let _e116 = (*uv_2);
308
+ param_35 = _e116;
309
+ let _e117 = getFromColor((&param_35));
310
+ return _e117;
311
+ }
312
+ }
313
+ }
314
+
315
+ fn main_1() {
316
+ var param_36: vec2<f32>;
317
+
318
+ let _e22 = _uv_1;
319
+ param_36 = _e22;
320
+ let _e23 = transition((&param_36));
321
+ _fragColor = _e23;
322
+ return;
323
+ }
324
+
325
+ @fragment
326
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
327
+ _uv_1 = _uv;
328
+ main_1();
329
+ let _e3 = _fragColor;
330
+ return _e3;
331
+ }
@@ -0,0 +1,331 @@
1
+ // BowTieVertical — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/BowTieVertical.glsl
2
+ // Author: huynx
3
+ // License: MIT
4
+ // Description: Two triangles grow from the top and bottom edges into a bow tie that reveals the incoming image
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 check(p1_: ptr<function, vec2<f32>>, p2_: ptr<function, vec2<f32>>, p3_: ptr<function, vec2<f32>>) -> f32 {
24
+ let _e20 = (*p1_)[0u];
25
+ let _e22 = (*p3_)[0u];
26
+ let _e25 = (*p2_)[1u];
27
+ let _e27 = (*p3_)[1u];
28
+ let _e31 = (*p2_)[0u];
29
+ let _e33 = (*p3_)[0u];
30
+ let _e36 = (*p1_)[1u];
31
+ let _e38 = (*p3_)[1u];
32
+ return (((_e20 - _e22) * (_e25 - _e27)) - ((_e31 - _e33) * (_e36 - _e38)));
33
+ }
34
+
35
+ fn PointInTriangle(pt: ptr<function, vec2<f32>>, p1_1: ptr<function, vec2<f32>>, p2_1: ptr<function, vec2<f32>>, p3_1: ptr<function, vec2<f32>>) -> bool {
36
+ var b1_: bool;
37
+ var param: vec2<f32>;
38
+ var param_1: vec2<f32>;
39
+ var param_2: vec2<f32>;
40
+ var b2_: bool;
41
+ var param_3: vec2<f32>;
42
+ var param_4: vec2<f32>;
43
+ var param_5: vec2<f32>;
44
+ var b3_: bool;
45
+ var param_6: vec2<f32>;
46
+ var param_7: vec2<f32>;
47
+ var param_8: vec2<f32>;
48
+
49
+ let _e32 = (*pt);
50
+ param = _e32;
51
+ let _e33 = (*p1_1);
52
+ param_1 = _e33;
53
+ let _e34 = (*p2_1);
54
+ param_2 = _e34;
55
+ let _e35 = check((&param), (&param_1), (&param_2));
56
+ b1_ = (_e35 < 0f);
57
+ let _e37 = (*pt);
58
+ param_3 = _e37;
59
+ let _e38 = (*p2_1);
60
+ param_4 = _e38;
61
+ let _e39 = (*p3_1);
62
+ param_5 = _e39;
63
+ let _e40 = check((&param_3), (&param_4), (&param_5));
64
+ b2_ = (_e40 < 0f);
65
+ let _e42 = (*pt);
66
+ param_6 = _e42;
67
+ let _e43 = (*p3_1);
68
+ param_7 = _e43;
69
+ let _e44 = (*p1_1);
70
+ param_8 = _e44;
71
+ let _e45 = check((&param_6), (&param_7), (&param_8));
72
+ b3_ = (_e45 < 0f);
73
+ let _e47 = b1_;
74
+ let _e48 = b2_;
75
+ let _e50 = b2_;
76
+ let _e51 = b3_;
77
+ return ((_e47 == _e48) && (_e50 == _e51));
78
+ }
79
+
80
+ fn in_bottom_triangle(p: ptr<function, vec2<f32>>) -> bool {
81
+ var vertex1_: vec2<f32>;
82
+ var vertex2_: vec2<f32>;
83
+ var vertex3_: vec2<f32>;
84
+ var param_9: vec2<f32>;
85
+ var param_10: vec2<f32>;
86
+ var param_11: vec2<f32>;
87
+ var param_12: vec2<f32>;
88
+
89
+ let _e25 = uniforms.progress;
90
+ vertex1_ = vec2<f32>(0.5f, (1f - _e25));
91
+ let _e29 = uniforms.progress;
92
+ vertex2_ = vec2<f32>((0.5f - _e29), 1f);
93
+ let _e33 = uniforms.progress;
94
+ vertex3_ = vec2<f32>((0.5f + _e33), 1f);
95
+ let _e36 = (*p);
96
+ param_9 = _e36;
97
+ let _e37 = vertex1_;
98
+ param_10 = _e37;
99
+ let _e38 = vertex2_;
100
+ param_11 = _e38;
101
+ let _e39 = vertex3_;
102
+ param_12 = _e39;
103
+ let _e40 = PointInTriangle((&param_9), (&param_10), (&param_11), (&param_12));
104
+ if _e40 {
105
+ return true;
106
+ }
107
+ return false;
108
+ }
109
+
110
+ fn blur_edge(bot1_: ptr<function, vec2<f32>>, bot2_: ptr<function, vec2<f32>>, top: ptr<function, vec2<f32>>, testPt: ptr<function, vec2<f32>>) -> f32 {
111
+ var lineDir: vec2<f32>;
112
+ var perpDir: vec2<f32>;
113
+ var dirToPt1_: vec2<f32>;
114
+ var dist1_: f32;
115
+ var min_dist: f32;
116
+
117
+ let _e25 = (*bot1_);
118
+ let _e26 = (*top);
119
+ lineDir = (_e25 - _e26);
120
+ let _e29 = lineDir[1u];
121
+ let _e31 = lineDir[0u];
122
+ perpDir = vec2<f32>(_e29, -(_e31));
123
+ let _e34 = (*bot1_);
124
+ let _e35 = (*testPt);
125
+ dirToPt1_ = (_e34 - _e35);
126
+ let _e37 = perpDir;
127
+ let _e39 = dirToPt1_;
128
+ dist1_ = abs(dot(normalize(_e37), _e39));
129
+ let _e42 = (*bot2_);
130
+ let _e43 = (*top);
131
+ lineDir = (_e42 - _e43);
132
+ let _e46 = lineDir[1u];
133
+ let _e48 = lineDir[0u];
134
+ perpDir = vec2<f32>(_e46, -(_e48));
135
+ let _e51 = (*bot2_);
136
+ let _e52 = (*testPt);
137
+ dirToPt1_ = (_e51 - _e52);
138
+ let _e54 = perpDir;
139
+ let _e56 = dirToPt1_;
140
+ let _e59 = dist1_;
141
+ min_dist = min(abs(dot(normalize(_e54), _e56)), _e59);
142
+ let _e61 = min_dist;
143
+ if (_e61 < 0.005f) {
144
+ let _e63 = min_dist;
145
+ return (_e63 / 0.005f);
146
+ } else {
147
+ return 1f;
148
+ }
149
+ }
150
+
151
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
152
+ let _e18 = (*uv)[0u];
153
+ let _e20 = (*uv)[1u];
154
+ let _e23 = textureSampleLevel(_to, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
155
+ return _e23;
156
+ }
157
+
158
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
159
+ let _e18 = (*uv_1)[0u];
160
+ let _e20 = (*uv_1)[1u];
161
+ let _e23 = textureSampleLevel(_from, _sampler, vec2<f32>(_e18, (1f - _e20)), 0f);
162
+ return _e23;
163
+ }
164
+
165
+ fn in_top_triangle(p_1: ptr<function, vec2<f32>>) -> bool {
166
+ var vertex1_1: vec2<f32>;
167
+ var vertex2_1: vec2<f32>;
168
+ var vertex3_1: vec2<f32>;
169
+ var param_13: vec2<f32>;
170
+ var param_14: vec2<f32>;
171
+ var param_15: vec2<f32>;
172
+ var param_16: vec2<f32>;
173
+
174
+ let _e25 = uniforms.progress;
175
+ vertex1_1 = vec2<f32>(0.5f, _e25);
176
+ let _e28 = uniforms.progress;
177
+ vertex2_1 = vec2<f32>((0.5f - _e28), 0f);
178
+ let _e32 = uniforms.progress;
179
+ vertex3_1 = vec2<f32>((0.5f + _e32), 0f);
180
+ let _e35 = (*p_1);
181
+ param_13 = _e35;
182
+ let _e36 = vertex1_1;
183
+ param_14 = _e36;
184
+ let _e37 = vertex2_1;
185
+ param_15 = _e37;
186
+ let _e38 = vertex3_1;
187
+ param_16 = _e38;
188
+ let _e39 = PointInTriangle((&param_13), (&param_14), (&param_15), (&param_16));
189
+ if _e39 {
190
+ return true;
191
+ }
192
+ return false;
193
+ }
194
+
195
+ fn transition(uv_2: ptr<function, vec2<f32>>) -> vec4<f32> {
196
+ var param_17: vec2<f32>;
197
+ var param_18: vec2<f32>;
198
+ var vertex1_2: vec2<f32>;
199
+ var vertex2_2: vec2<f32>;
200
+ var vertex3_2: vec2<f32>;
201
+ var param_19: vec2<f32>;
202
+ var param_20: vec2<f32>;
203
+ var param_21: vec2<f32>;
204
+ var param_22: vec2<f32>;
205
+ var param_23: vec2<f32>;
206
+ var param_24: vec2<f32>;
207
+ var param_25: vec2<f32>;
208
+ var param_26: vec2<f32>;
209
+ var param_27: vec2<f32>;
210
+ var vertex1_3: vec2<f32>;
211
+ var vertex2_3: vec2<f32>;
212
+ var vertex3_3: vec2<f32>;
213
+ var param_28: vec2<f32>;
214
+ var param_29: vec2<f32>;
215
+ var param_30: vec2<f32>;
216
+ var param_31: vec2<f32>;
217
+ var param_32: vec2<f32>;
218
+ var param_33: vec2<f32>;
219
+ var param_34: vec2<f32>;
220
+ var param_35: vec2<f32>;
221
+
222
+ let _e42 = (*uv_2);
223
+ param_17 = _e42;
224
+ let _e43 = in_top_triangle((&param_17));
225
+ if _e43 {
226
+ let _e45 = uniforms.progress;
227
+ if (_e45 < 0.1f) {
228
+ let _e47 = (*uv_2);
229
+ param_18 = _e47;
230
+ let _e48 = getFromColor((&param_18));
231
+ return _e48;
232
+ }
233
+ let _e50 = (*uv_2)[1u];
234
+ if (_e50 < 0.5f) {
235
+ let _e53 = uniforms.progress;
236
+ vertex1_2 = vec2<f32>(0.5f, _e53);
237
+ let _e56 = uniforms.progress;
238
+ vertex2_2 = vec2<f32>((0.5f - _e56), 0f);
239
+ let _e60 = uniforms.progress;
240
+ vertex3_2 = vec2<f32>((0.5f + _e60), 0f);
241
+ let _e63 = (*uv_2);
242
+ param_19 = _e63;
243
+ let _e64 = getFromColor((&param_19));
244
+ let _e65 = (*uv_2);
245
+ param_20 = _e65;
246
+ let _e66 = getToColor((&param_20));
247
+ let _e67 = vertex2_2;
248
+ param_21 = _e67;
249
+ let _e68 = vertex3_2;
250
+ param_22 = _e68;
251
+ let _e69 = vertex1_2;
252
+ param_23 = _e69;
253
+ let _e70 = (*uv_2);
254
+ param_24 = _e70;
255
+ let _e71 = blur_edge((&param_21), (&param_22), (&param_23), (&param_24));
256
+ return mix(_e64, _e66, vec4(_e71));
257
+ } else {
258
+ let _e75 = uniforms.progress;
259
+ if (_e75 > 0f) {
260
+ let _e77 = (*uv_2);
261
+ param_25 = _e77;
262
+ let _e78 = getToColor((&param_25));
263
+ return _e78;
264
+ } else {
265
+ let _e79 = (*uv_2);
266
+ param_26 = _e79;
267
+ let _e80 = getFromColor((&param_26));
268
+ return _e80;
269
+ }
270
+ }
271
+ } else {
272
+ let _e81 = (*uv_2);
273
+ param_27 = _e81;
274
+ let _e82 = in_bottom_triangle((&param_27));
275
+ if _e82 {
276
+ let _e84 = (*uv_2)[1u];
277
+ if (_e84 >= 0.5f) {
278
+ let _e87 = uniforms.progress;
279
+ vertex1_3 = vec2<f32>(0.5f, (1f - _e87));
280
+ let _e91 = uniforms.progress;
281
+ vertex2_3 = vec2<f32>((0.5f - _e91), 1f);
282
+ let _e95 = uniforms.progress;
283
+ vertex3_3 = vec2<f32>((0.5f + _e95), 1f);
284
+ let _e98 = (*uv_2);
285
+ param_28 = _e98;
286
+ let _e99 = getFromColor((&param_28));
287
+ let _e100 = (*uv_2);
288
+ param_29 = _e100;
289
+ let _e101 = getToColor((&param_29));
290
+ let _e102 = vertex2_3;
291
+ param_30 = _e102;
292
+ let _e103 = vertex3_3;
293
+ param_31 = _e103;
294
+ let _e104 = vertex1_3;
295
+ param_32 = _e104;
296
+ let _e105 = (*uv_2);
297
+ param_33 = _e105;
298
+ let _e106 = blur_edge((&param_30), (&param_31), (&param_32), (&param_33));
299
+ return mix(_e99, _e101, vec4(_e106));
300
+ } else {
301
+ let _e109 = (*uv_2);
302
+ param_34 = _e109;
303
+ let _e110 = getFromColor((&param_34));
304
+ return _e110;
305
+ }
306
+ } else {
307
+ let _e111 = (*uv_2);
308
+ param_35 = _e111;
309
+ let _e112 = getFromColor((&param_35));
310
+ return _e112;
311
+ }
312
+ }
313
+ }
314
+
315
+ fn main_1() {
316
+ var param_36: vec2<f32>;
317
+
318
+ let _e17 = _uv_1;
319
+ param_36 = _e17;
320
+ let _e18 = transition((&param_36));
321
+ _fragColor = _e18;
322
+ return;
323
+ }
324
+
325
+ @fragment
326
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
327
+ _uv_1 = _uv;
328
+ main_1();
329
+ let _e3 = _fragColor;
330
+ return _e3;
331
+ }