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
package/wgsl/swap.wgsl ADDED
@@ -0,0 +1,218 @@
1
+ // swap — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/swap.glsl
2
+ // Author: gre
3
+ // License: MIT
4
+ // Description: The two images swap places in 3D, 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
+ reflection: f32,
11
+ perspective: f32,
12
+ depth: 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 _e32 = (*uv)[0u];
28
+ let _e34 = (*uv)[1u];
29
+ let _e37 = textureSampleLevel(_to, _sampler, vec2<f32>(_e32, (1f - _e34)), 0f);
30
+ return _e37;
31
+ }
32
+
33
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
34
+ let _e32 = (*uv_1)[0u];
35
+ let _e34 = (*uv_1)[1u];
36
+ let _e37 = textureSampleLevel(_from, _sampler, vec2<f32>(_e32, (1f - _e34)), 0f);
37
+ return _e37;
38
+ }
39
+
40
+ fn inBounds(p: ptr<function, vec2<f32>>) -> bool {
41
+ var phi_84_: bool;
42
+
43
+ let _e31 = (*p);
44
+ let _e33 = all((vec2<f32>(0f, 0f) < _e31));
45
+ phi_84_ = _e33;
46
+ if _e33 {
47
+ let _e34 = (*p);
48
+ phi_84_ = all((_e34 < vec2<f32>(1f, 1f)));
49
+ }
50
+ let _e38 = phi_84_;
51
+ return _e38;
52
+ }
53
+
54
+ fn project(p_1: ptr<function, vec2<f32>>) -> vec2<f32> {
55
+ let _e31 = (*p_1);
56
+ return ((_e31 * vec2<f32>(1f, -1.2f)) + vec2<f32>(0f, -0.02f));
57
+ }
58
+
59
+ fn bgColor(p_2: ptr<function, vec2<f32>>, pfr: ptr<function, vec2<f32>>, pto: ptr<function, vec2<f32>>) -> vec4<f32> {
60
+ var c: vec4<f32>;
61
+ var param: vec2<f32>;
62
+ var param_1: vec2<f32>;
63
+ var param_2: vec2<f32>;
64
+ var param_3: vec2<f32>;
65
+ var param_4: vec2<f32>;
66
+ var param_5: vec2<f32>;
67
+
68
+ c = vec4<f32>(0f, 0f, 0f, 1f);
69
+ let _e40 = (*pfr);
70
+ param = _e40;
71
+ let _e41 = project((&param));
72
+ (*pfr) = _e41;
73
+ let _e42 = (*pfr);
74
+ param_1 = _e42;
75
+ let _e43 = inBounds((&param_1));
76
+ if _e43 {
77
+ let _e44 = (*pfr);
78
+ param_2 = _e44;
79
+ let _e45 = getFromColor((&param_2));
80
+ let _e47 = uniforms.reflection;
81
+ let _e49 = (*pfr)[1u];
82
+ let _e54 = c;
83
+ c = (_e54 + mix(vec4<f32>(0f, 0f, 0f, 1f), _e45, vec4((_e47 * mix(1f, 0f, _e49)))));
84
+ }
85
+ let _e56 = (*pto);
86
+ param_3 = _e56;
87
+ let _e57 = project((&param_3));
88
+ (*pto) = _e57;
89
+ let _e58 = (*pto);
90
+ param_4 = _e58;
91
+ let _e59 = inBounds((&param_4));
92
+ if _e59 {
93
+ let _e60 = (*pto);
94
+ param_5 = _e60;
95
+ let _e61 = getToColor((&param_5));
96
+ let _e63 = uniforms.reflection;
97
+ let _e65 = (*pto)[1u];
98
+ let _e70 = c;
99
+ c = (_e70 + mix(vec4<f32>(0f, 0f, 0f, 1f), _e61, vec4((_e63 * mix(1f, 0f, _e65)))));
100
+ }
101
+ let _e72 = c;
102
+ return _e72;
103
+ }
104
+
105
+ fn transition(p_3: ptr<function, vec2<f32>>) -> vec4<f32> {
106
+ var pto_1: vec2<f32>;
107
+ var size: f32;
108
+ var persp: f32;
109
+ var pfr_1: vec2<f32>;
110
+ var param_6: vec2<f32>;
111
+ var param_7: vec2<f32>;
112
+ var param_8: vec2<f32>;
113
+ var param_9: vec2<f32>;
114
+ var param_10: vec2<f32>;
115
+ var param_11: vec2<f32>;
116
+ var param_12: vec2<f32>;
117
+ var param_13: vec2<f32>;
118
+ var param_14: vec2<f32>;
119
+ var param_15: vec2<f32>;
120
+ var param_16: vec2<f32>;
121
+
122
+ pto_1 = vec2<f32>(-1f, -1f);
123
+ let _e47 = uniforms.depth;
124
+ let _e49 = uniforms.progress;
125
+ size = mix(1f, _e47, _e49);
126
+ let _e52 = uniforms.perspective;
127
+ let _e54 = uniforms.progress;
128
+ persp = (_e52 * _e54);
129
+ let _e56 = (*p_3);
130
+ let _e58 = size;
131
+ let _e60 = uniforms.perspective;
132
+ let _e62 = uniforms.progress;
133
+ let _e66 = size;
134
+ let _e67 = size;
135
+ let _e68 = persp;
136
+ let _e71 = (*p_3)[0u];
137
+ pfr_1 = (((_e56 + vec2<f32>(-0f, -0.5f)) * vec2<f32>((_e58 / (1f - (_e60 * _e62))), (_e66 / (1f - ((_e67 * _e68) * _e71))))) + vec2<f32>(0f, 0.5f));
138
+ let _e79 = uniforms.depth;
139
+ let _e81 = uniforms.progress;
140
+ size = mix(1f, _e79, (1f - _e81));
141
+ let _e85 = uniforms.perspective;
142
+ let _e87 = uniforms.progress;
143
+ persp = (_e85 * (1f - _e87));
144
+ let _e90 = (*p_3);
145
+ let _e92 = size;
146
+ let _e94 = uniforms.perspective;
147
+ let _e96 = uniforms.progress;
148
+ let _e101 = size;
149
+ let _e102 = size;
150
+ let _e103 = persp;
151
+ let _e106 = (*p_3)[0u];
152
+ pto_1 = (((_e90 + vec2<f32>(-1f, -0.5f)) * vec2<f32>((_e92 / (1f - (_e94 * (1f - _e96)))), (_e101 / (1f - ((_e102 * _e103) * (0.5f - _e106)))))) + vec2<f32>(1f, 0.5f));
153
+ let _e115 = uniforms.progress;
154
+ if (_e115 < 0.5f) {
155
+ let _e117 = pfr_1;
156
+ param_6 = _e117;
157
+ let _e118 = inBounds((&param_6));
158
+ if _e118 {
159
+ let _e119 = pfr_1;
160
+ param_7 = _e119;
161
+ let _e120 = getFromColor((&param_7));
162
+ return _e120;
163
+ }
164
+ let _e121 = pto_1;
165
+ param_8 = _e121;
166
+ let _e122 = inBounds((&param_8));
167
+ if _e122 {
168
+ let _e123 = pto_1;
169
+ param_9 = _e123;
170
+ let _e124 = getToColor((&param_9));
171
+ return _e124;
172
+ }
173
+ }
174
+ let _e125 = pto_1;
175
+ param_10 = _e125;
176
+ let _e126 = inBounds((&param_10));
177
+ if _e126 {
178
+ let _e127 = pto_1;
179
+ param_11 = _e127;
180
+ let _e128 = getToColor((&param_11));
181
+ return _e128;
182
+ }
183
+ let _e129 = pfr_1;
184
+ param_12 = _e129;
185
+ let _e130 = inBounds((&param_12));
186
+ if _e130 {
187
+ let _e131 = pfr_1;
188
+ param_13 = _e131;
189
+ let _e132 = getFromColor((&param_13));
190
+ return _e132;
191
+ }
192
+ let _e133 = (*p_3);
193
+ param_14 = _e133;
194
+ let _e134 = pfr_1;
195
+ param_15 = _e134;
196
+ let _e135 = pto_1;
197
+ param_16 = _e135;
198
+ let _e136 = bgColor((&param_14), (&param_15), (&param_16));
199
+ return _e136;
200
+ }
201
+
202
+ fn main_1() {
203
+ var param_17: vec2<f32>;
204
+
205
+ let _e31 = _uv_1;
206
+ param_17 = _e31;
207
+ let _e32 = transition((&param_17));
208
+ _fragColor = _e32;
209
+ return;
210
+ }
211
+
212
+ @fragment
213
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
214
+ _uv_1 = _uv;
215
+ main_1();
216
+ let _e3 = _fragColor;
217
+ return _e3;
218
+ }
@@ -0,0 +1,503 @@
1
+ // tangentMotionBlur — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/tangentMotionBlur.glsl
2
+ // Author: chenkai
3
+ // License: MIT
4
+ // Description: The outgoing image is flung away along a curve with motion blur
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 _e36 = (*uv)[0u];
25
+ let _e38 = (*uv)[1u];
26
+ let _e41 = textureSampleLevel(_to, _sampler, vec2<f32>(_e36, (1f - _e38)), 0f);
27
+ return _e41;
28
+ }
29
+
30
+ fn rand(co: ptr<function, vec2<f32>>) -> f32 {
31
+ let _e35 = (*co);
32
+ return fract((sin(dot(_e35, vec2<f32>(12.9898f, 78.233f))) * 43758.547f));
33
+ }
34
+
35
+ fn motionBlurTo(_st: ptr<function, vec2<f32>>, speed: ptr<function, vec2<f32>>) -> vec4<f32> {
36
+ var texCoord: vec2<f32>;
37
+ var color: vec3<f32>;
38
+ var total: f32;
39
+ var offset: f32;
40
+ var param: vec2<f32>;
41
+ var t: f32;
42
+ var percent: f32;
43
+ var weight: f32;
44
+ var newuv: vec2<f32>;
45
+ var param_1: vec2<f32>;
46
+
47
+ let _e46 = (*_st);
48
+ texCoord = (_e46 / vec2<f32>(1f, 1f));
49
+ color = vec3<f32>(0f, 0f, 0f);
50
+ total = 0f;
51
+ let _e48 = (*_st);
52
+ param = _e48;
53
+ let _e49 = rand((&param));
54
+ offset = _e49;
55
+ t = 0f;
56
+ loop {
57
+ let _e50 = t;
58
+ if (_e50 <= 20f) {
59
+ let _e52 = t;
60
+ let _e53 = offset;
61
+ percent = ((_e52 + _e53) / 20f);
62
+ let _e56 = percent;
63
+ let _e57 = percent;
64
+ let _e58 = percent;
65
+ weight = (4f * (_e56 - (_e57 * _e58)));
66
+ let _e62 = texCoord;
67
+ let _e63 = (*speed);
68
+ let _e64 = percent;
69
+ newuv = (_e62 + (_e63 * _e64));
70
+ let _e67 = newuv;
71
+ newuv = fract(_e67);
72
+ let _e69 = newuv;
73
+ param_1 = _e69;
74
+ let _e70 = getToColor((&param_1));
75
+ let _e72 = weight;
76
+ let _e74 = color;
77
+ color = (_e74 + (_e70.xyz * _e72));
78
+ let _e76 = weight;
79
+ let _e77 = total;
80
+ total = (_e77 + _e76);
81
+ continue;
82
+ } else {
83
+ break;
84
+ }
85
+ continuing {
86
+ let _e79 = t;
87
+ t = (_e79 + 1f);
88
+ }
89
+ }
90
+ let _e81 = color;
91
+ let _e82 = total;
92
+ let _e84 = (_e81 / vec3(_e82));
93
+ return vec4<f32>(_e84.x, _e84.y, _e84.z, 1f);
94
+ }
95
+
96
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
97
+ let _e36 = (*uv_1)[0u];
98
+ let _e38 = (*uv_1)[1u];
99
+ let _e41 = textureSampleLevel(_from, _sampler, vec2<f32>(_e36, (1f - _e38)), 0f);
100
+ return _e41;
101
+ }
102
+
103
+ fn motionBlurFrom(_st_1: ptr<function, vec2<f32>>, speed_1: ptr<function, vec2<f32>>) -> vec4<f32> {
104
+ var texCoord_1: vec2<f32>;
105
+ var color_1: vec3<f32>;
106
+ var total_1: f32;
107
+ var offset_1: f32;
108
+ var param_2: vec2<f32>;
109
+ var t_1: f32;
110
+ var percent_1: f32;
111
+ var weight_1: f32;
112
+ var newuv_1: vec2<f32>;
113
+ var param_3: vec2<f32>;
114
+
115
+ let _e46 = (*_st_1);
116
+ texCoord_1 = (_e46 / vec2<f32>(1f, 1f));
117
+ color_1 = vec3<f32>(0f, 0f, 0f);
118
+ total_1 = 0f;
119
+ let _e48 = (*_st_1);
120
+ param_2 = _e48;
121
+ let _e49 = rand((&param_2));
122
+ offset_1 = _e49;
123
+ t_1 = 0f;
124
+ loop {
125
+ let _e50 = t_1;
126
+ if (_e50 <= 20f) {
127
+ let _e52 = t_1;
128
+ let _e53 = offset_1;
129
+ percent_1 = ((_e52 + _e53) / 20f);
130
+ let _e56 = percent_1;
131
+ let _e57 = percent_1;
132
+ let _e58 = percent_1;
133
+ weight_1 = (4f * (_e56 - (_e57 * _e58)));
134
+ let _e62 = texCoord_1;
135
+ let _e63 = (*speed_1);
136
+ let _e64 = percent_1;
137
+ newuv_1 = (_e62 + (_e63 * _e64));
138
+ let _e67 = newuv_1;
139
+ newuv_1 = fract(_e67);
140
+ let _e69 = newuv_1;
141
+ param_3 = _e69;
142
+ let _e70 = getFromColor((&param_3));
143
+ let _e72 = weight_1;
144
+ let _e74 = color_1;
145
+ color_1 = (_e74 + (_e70.xyz * _e72));
146
+ let _e76 = weight_1;
147
+ let _e77 = total_1;
148
+ total_1 = (_e77 + _e76);
149
+ continue;
150
+ } else {
151
+ break;
152
+ }
153
+ continuing {
154
+ let _e79 = t_1;
155
+ t_1 = (_e79 + 1f);
156
+ }
157
+ }
158
+ let _e81 = color_1;
159
+ let _e82 = total_1;
160
+ let _e84 = (_e81 / vec3(_e82));
161
+ return vec4<f32>(_e84.x, _e84.y, _e84.z, 1f);
162
+ }
163
+
164
+ fn rotateUv(uv_2: ptr<function, vec2<f32>>, angle: ptr<function, f32>, anchor: ptr<function, vec2<f32>>, zDirection: ptr<function, f32>) -> vec2<f32> {
165
+ var s: f32;
166
+ var c: f32;
167
+ var m: mat2x2<f32>;
168
+
169
+ let _e41 = (*uv_2);
170
+ let _e42 = (*anchor);
171
+ (*uv_2) = (_e41 - _e42);
172
+ let _e44 = (*angle);
173
+ s = sin(_e44);
174
+ let _e46 = (*angle);
175
+ c = cos(_e46);
176
+ let _e48 = c;
177
+ let _e49 = s;
178
+ let _e51 = s;
179
+ let _e52 = c;
180
+ m = mat2x2<f32>(vec2<f32>(_e48, -(_e49)), vec2<f32>(_e51, _e52));
181
+ let _e56 = m;
182
+ let _e57 = (*uv_2);
183
+ (*uv_2) = (_e56 * _e57);
184
+ let _e59 = (*anchor);
185
+ let _e60 = (*uv_2);
186
+ (*uv_2) = (_e60 + _e59);
187
+ let _e62 = (*uv_2);
188
+ return _e62;
189
+ }
190
+
191
+ fn normpdf(x: ptr<function, f32>) -> f32 {
192
+ var d: f32;
193
+
194
+ let _e36 = (*x);
195
+ d = (_e36 - 0.5f);
196
+ let _e38 = d;
197
+ let _e40 = d;
198
+ return exp(((-20f * _e38) * _e40));
199
+ }
200
+
201
+ fn C(aA1_: ptr<function, f32>) -> f32 {
202
+ let _e35 = (*aA1_);
203
+ return (3f * _e35);
204
+ }
205
+
206
+ fn B(aA1_1: ptr<function, f32>, aA2_: ptr<function, f32>) -> f32 {
207
+ let _e36 = (*aA2_);
208
+ let _e38 = (*aA1_1);
209
+ return ((3f * _e36) - (6f * _e38));
210
+ }
211
+
212
+ fn A(aA1_2: ptr<function, f32>, aA2_1: ptr<function, f32>) -> f32 {
213
+ let _e36 = (*aA2_1);
214
+ let _e39 = (*aA1_2);
215
+ return ((1f - (3f * _e36)) + (3f * _e39));
216
+ }
217
+
218
+ fn CalcBezier(aT: ptr<function, f32>, aA1_3: ptr<function, f32>, aA2_2: ptr<function, f32>) -> f32 {
219
+ var param_4: f32;
220
+ var param_5: f32;
221
+ var param_6: f32;
222
+ var param_7: f32;
223
+ var param_8: f32;
224
+
225
+ let _e42 = (*aA1_3);
226
+ param_4 = _e42;
227
+ let _e43 = (*aA2_2);
228
+ param_5 = _e43;
229
+ let _e44 = A((&param_4), (&param_5));
230
+ let _e45 = (*aT);
231
+ let _e47 = (*aA1_3);
232
+ param_6 = _e47;
233
+ let _e48 = (*aA2_2);
234
+ param_7 = _e48;
235
+ let _e49 = B((&param_6), (&param_7));
236
+ let _e51 = (*aT);
237
+ let _e53 = (*aA1_3);
238
+ param_8 = _e53;
239
+ let _e54 = C((&param_8));
240
+ let _e56 = (*aT);
241
+ return (((((_e44 * _e45) + _e49) * _e51) + _e54) * _e56);
242
+ }
243
+
244
+ fn GetSlope(aT_1: ptr<function, f32>, aA1_4: ptr<function, f32>, aA2_3: ptr<function, f32>) -> f32 {
245
+ var param_9: f32;
246
+ var param_10: f32;
247
+ var param_11: f32;
248
+ var param_12: f32;
249
+ var param_13: f32;
250
+
251
+ let _e42 = (*aA1_4);
252
+ param_9 = _e42;
253
+ let _e43 = (*aA2_3);
254
+ param_10 = _e43;
255
+ let _e44 = A((&param_9), (&param_10));
256
+ let _e46 = (*aT_1);
257
+ let _e48 = (*aT_1);
258
+ let _e50 = (*aA1_4);
259
+ param_11 = _e50;
260
+ let _e51 = (*aA2_3);
261
+ param_12 = _e51;
262
+ let _e52 = B((&param_11), (&param_12));
263
+ let _e54 = (*aT_1);
264
+ let _e57 = (*aA1_4);
265
+ param_13 = _e57;
266
+ let _e58 = C((&param_13));
267
+ return (((((3f * _e44) * _e46) * _e48) + ((2f * _e52) * _e54)) + _e58);
268
+ }
269
+
270
+ fn GetTForX(aX: ptr<function, f32>, mX1_: ptr<function, f32>, mX2_: ptr<function, f32>) -> f32 {
271
+ var aGuessT: f32;
272
+ var i: i32;
273
+ var currentSlope: f32;
274
+ var param_14: f32;
275
+ var param_15: f32;
276
+ var param_16: f32;
277
+ var currentX: f32;
278
+ var param_17: f32;
279
+ var param_18: f32;
280
+ var param_19: f32;
281
+
282
+ let _e47 = (*aX);
283
+ aGuessT = _e47;
284
+ i = 0i;
285
+ loop {
286
+ let _e48 = i;
287
+ if (_e48 < 4i) {
288
+ let _e50 = aGuessT;
289
+ param_14 = _e50;
290
+ let _e51 = (*mX1_);
291
+ param_15 = _e51;
292
+ let _e52 = (*mX2_);
293
+ param_16 = _e52;
294
+ let _e53 = GetSlope((&param_14), (&param_15), (&param_16));
295
+ currentSlope = _e53;
296
+ let _e54 = currentSlope;
297
+ if (_e54 == 0f) {
298
+ let _e56 = aGuessT;
299
+ return _e56;
300
+ }
301
+ let _e57 = aGuessT;
302
+ param_17 = _e57;
303
+ let _e58 = (*mX1_);
304
+ param_18 = _e58;
305
+ let _e59 = (*mX2_);
306
+ param_19 = _e59;
307
+ let _e60 = CalcBezier((&param_17), (&param_18), (&param_19));
308
+ let _e61 = (*aX);
309
+ currentX = (_e60 - _e61);
310
+ let _e63 = currentX;
311
+ let _e64 = currentSlope;
312
+ let _e66 = aGuessT;
313
+ aGuessT = (_e66 - (_e63 / _e64));
314
+ continue;
315
+ } else {
316
+ break;
317
+ }
318
+ continuing {
319
+ let _e68 = i;
320
+ i = (_e68 + 1i);
321
+ }
322
+ }
323
+ let _e70 = aGuessT;
324
+ return _e70;
325
+ }
326
+
327
+ fn KeySpline(aX_1: ptr<function, f32>, mX1_1: ptr<function, f32>, mY1_: ptr<function, f32>, mX2_1: ptr<function, f32>, mY2_: ptr<function, f32>) -> f32 {
328
+ var param_20: f32;
329
+ var param_21: f32;
330
+ var param_22: f32;
331
+ var param_23: f32;
332
+ var param_24: f32;
333
+ var param_25: f32;
334
+
335
+ let _e45 = (*mX1_1);
336
+ let _e46 = (*mY1_);
337
+ let _e48 = (*mX2_1);
338
+ let _e49 = (*mY2_);
339
+ if ((_e45 == _e46) && (_e48 == _e49)) {
340
+ let _e52 = (*aX_1);
341
+ return _e52;
342
+ }
343
+ let _e53 = (*aX_1);
344
+ param_20 = _e53;
345
+ let _e54 = (*mX1_1);
346
+ param_21 = _e54;
347
+ let _e55 = (*mX2_1);
348
+ param_22 = _e55;
349
+ let _e56 = GetTForX((&param_20), (&param_21), (&param_22));
350
+ param_23 = _e56;
351
+ let _e57 = (*mY1_);
352
+ param_24 = _e57;
353
+ let _e58 = (*mY2_);
354
+ param_25 = _e58;
355
+ let _e59 = CalcBezier((&param_23), (&param_24), (&param_25));
356
+ return _e59;
357
+ }
358
+
359
+ fn transition(uv_3: ptr<function, vec2<f32>>) -> vec4<f32> {
360
+ var myst: vec2<f32>;
361
+ var animationTime: f32;
362
+ var easingTime: f32;
363
+ var param_26: f32;
364
+ var param_27: f32;
365
+ var param_28: f32;
366
+ var param_29: f32;
367
+ var param_30: f32;
368
+ var blur: f32;
369
+ var param_31: f32;
370
+ var r: f32;
371
+ var rotation: f32;
372
+ var mystCurrent: vec2<f32>;
373
+ var param_32: vec2<f32>;
374
+ var param_33: f32;
375
+ var param_34: vec2<f32>;
376
+ var param_35: f32;
377
+ var timeInterval: f32;
378
+ var mystNext: vec2<f32>;
379
+ var param_36: vec2<f32>;
380
+ var param_37: f32;
381
+ var param_38: vec2<f32>;
382
+ var param_39: f32;
383
+ var speed_2: vec2<f32>;
384
+ var param_40: vec2<f32>;
385
+ var param_41: vec2<f32>;
386
+ var param_42: vec2<f32>;
387
+ var param_43: vec2<f32>;
388
+
389
+ let _e63 = (*uv_3);
390
+ myst = _e63;
391
+ let _e65 = uniforms.progress;
392
+ animationTime = _e65;
393
+ let _e66 = animationTime;
394
+ param_26 = _e66;
395
+ param_27 = 0.68f;
396
+ param_28 = 0.01f;
397
+ param_29 = 0.17f;
398
+ param_30 = 0.98f;
399
+ let _e67 = KeySpline((&param_26), (&param_27), (&param_28), (&param_29), (&param_30));
400
+ easingTime = _e67;
401
+ let _e68 = easingTime;
402
+ param_31 = _e68;
403
+ let _e69 = normpdf((&param_31));
404
+ blur = _e69;
405
+ r = 0f;
406
+ rotation = 3.14159f;
407
+ let _e70 = easingTime;
408
+ if (_e70 <= 0.5f) {
409
+ let _e72 = rotation;
410
+ let _e73 = easingTime;
411
+ r = (_e72 * _e73);
412
+ } else {
413
+ let _e75 = rotation;
414
+ let _e77 = rotation;
415
+ let _e78 = easingTime;
416
+ r = (-(_e75) + (_e77 * _e78));
417
+ }
418
+ let _e81 = myst;
419
+ mystCurrent = _e81;
420
+ let _e83 = uniforms.ratio;
421
+ let _e86 = mystCurrent[1u];
422
+ mystCurrent[1u] = (_e86 * (1f / _e83));
423
+ let _e89 = mystCurrent;
424
+ param_32 = _e89;
425
+ let _e90 = r;
426
+ param_33 = _e90;
427
+ param_34 = vec2<f32>(1f, 0f);
428
+ param_35 = -1f;
429
+ let _e91 = rotateUv((&param_32), (&param_33), (&param_34), (&param_35));
430
+ mystCurrent = _e91;
431
+ let _e93 = uniforms.ratio;
432
+ let _e95 = mystCurrent[1u];
433
+ mystCurrent[1u] = (_e95 * _e93);
434
+ timeInterval = 0.0334f;
435
+ let _e98 = easingTime;
436
+ if (_e98 <= 0.5f) {
437
+ let _e100 = rotation;
438
+ let _e101 = easingTime;
439
+ let _e102 = timeInterval;
440
+ r = (_e100 * (_e101 + _e102));
441
+ } else {
442
+ let _e105 = rotation;
443
+ let _e107 = rotation;
444
+ let _e108 = easingTime;
445
+ let _e109 = timeInterval;
446
+ r = (-(_e105) + (_e107 * (_e108 + _e109)));
447
+ }
448
+ let _e113 = myst;
449
+ mystNext = _e113;
450
+ let _e115 = uniforms.ratio;
451
+ let _e118 = mystNext[1u];
452
+ mystNext[1u] = (_e118 * (1f / _e115));
453
+ let _e121 = mystNext;
454
+ param_36 = _e121;
455
+ let _e122 = r;
456
+ param_37 = _e122;
457
+ param_38 = vec2<f32>(1f, 0f);
458
+ param_39 = -1f;
459
+ let _e123 = rotateUv((&param_36), (&param_37), (&param_38), (&param_39));
460
+ mystNext = _e123;
461
+ let _e125 = uniforms.ratio;
462
+ let _e127 = mystNext[1u];
463
+ mystNext[1u] = (_e127 * _e125);
464
+ let _e130 = mystNext;
465
+ let _e131 = mystCurrent;
466
+ let _e133 = timeInterval;
467
+ let _e136 = blur;
468
+ speed_2 = ((((_e130 - _e131) / vec2(_e133)) * _e136) * 0.5f);
469
+ let _e139 = easingTime;
470
+ if (_e139 <= 0.5f) {
471
+ let _e141 = mystCurrent;
472
+ param_40 = _e141;
473
+ let _e142 = speed_2;
474
+ param_41 = _e142;
475
+ let _e143 = motionBlurFrom((&param_40), (&param_41));
476
+ return _e143;
477
+ } else {
478
+ let _e144 = mystCurrent;
479
+ param_42 = _e144;
480
+ let _e145 = speed_2;
481
+ param_43 = _e145;
482
+ let _e146 = motionBlurTo((&param_42), (&param_43));
483
+ return _e146;
484
+ }
485
+ }
486
+
487
+ fn main_1() {
488
+ var param_44: vec2<f32>;
489
+
490
+ let _e35 = _uv_1;
491
+ param_44 = _e35;
492
+ let _e36 = transition((&param_44));
493
+ _fragColor = _e36;
494
+ return;
495
+ }
496
+
497
+ @fragment
498
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
499
+ _uv_1 = _uv;
500
+ main_1();
501
+ let _e3 = _fragColor;
502
+ return _e3;
503
+ }