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,361 @@
1
+ // FilmBurn — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/FilmBurn.glsl
2
+ // Author: Anastasia Dunbar
3
+ // License: MIT
4
+ // Description: Glowing film-burn light leaks wash over the image and reveal the incoming one
5
+ // Bindings and uniform layout: see the gl-transitions package README
6
+
7
+ struct Uniforms {
8
+ progress: f32,
9
+ ratio: f32,
10
+ Seed: 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 sigmoid(x: ptr<function, f32>, a: ptr<function, f32>) -> f32 {
25
+ var b: f32;
26
+
27
+ let _e51 = (*x);
28
+ let _e53 = (*a);
29
+ b = (pow((_e51 * 2f), _e53) / 2f);
30
+ let _e56 = (*x);
31
+ if (_e56 > 0.5f) {
32
+ let _e58 = (*x);
33
+ let _e61 = (*a);
34
+ b = (1f - (pow((2f - (_e58 * 2f)), _e61) / 2f));
35
+ }
36
+ let _e65 = b;
37
+ return _e65;
38
+ }
39
+
40
+ fn getToColor(uv: ptr<function, vec2<f32>>) -> vec4<f32> {
41
+ let _e50 = (*uv)[0u];
42
+ let _e52 = (*uv)[1u];
43
+ let _e55 = textureSampleLevel(_to, _sampler, vec2<f32>(_e50, (1f - _e52)), 0f);
44
+ return _e55;
45
+ }
46
+
47
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
48
+ let _e50 = (*uv_1)[0u];
49
+ let _e52 = (*uv_1)[1u];
50
+ let _e55 = textureSampleLevel(_from, _sampler, vec2<f32>(_e50, (1f - _e52)), 0f);
51
+ return _e55;
52
+ }
53
+
54
+ fn blendedColor(p: ptr<function, vec2<f32>>) -> vec4<f32> {
55
+ var param: vec2<f32>;
56
+ var param_1: vec2<f32>;
57
+ var param_2: f32;
58
+ var param_3: f32;
59
+
60
+ let _e53 = (*p);
61
+ param = _e53;
62
+ let _e54 = getFromColor((&param));
63
+ let _e55 = (*p);
64
+ param_1 = _e55;
65
+ let _e56 = getToColor((&param_1));
66
+ let _e58 = uniforms.progress;
67
+ param_2 = _e58;
68
+ param_3 = 10f;
69
+ let _e59 = sigmoid((&param_2), (&param_3));
70
+ return mix(_e54, _e56, vec4(_e59));
71
+ }
72
+
73
+ fn rand_u0028_vf2_u003b(co: ptr<function, vec2<f32>>) -> f32 {
74
+ let _e49 = (*co);
75
+ return fract((sin(dot(_e49, vec2<f32>(12.9898f, 78.233f))) * 43758.547f));
76
+ }
77
+
78
+ fn apow(a_1: ptr<function, f32>, b_1: ptr<function, f32>) -> f32 {
79
+ let _e50 = (*a_1);
80
+ let _e52 = (*b_1);
81
+ let _e54 = (*b_1);
82
+ return (pow(abs(_e50), _e52) * sign(_e54));
83
+ }
84
+
85
+ fn pow3(a_2: ptr<function, vec3<f32>>, b_2: ptr<function, vec3<f32>>) -> vec3<f32> {
86
+ var param_4: f32;
87
+ var param_5: f32;
88
+ var param_6: f32;
89
+ var param_7: f32;
90
+ var param_8: f32;
91
+ var param_9: f32;
92
+
93
+ let _e57 = (*a_2)[0u];
94
+ param_4 = _e57;
95
+ let _e59 = (*b_2)[0u];
96
+ param_5 = _e59;
97
+ let _e60 = apow((&param_4), (&param_5));
98
+ let _e62 = (*a_2)[1u];
99
+ param_6 = _e62;
100
+ let _e64 = (*b_2)[1u];
101
+ param_7 = _e64;
102
+ let _e65 = apow((&param_6), (&param_7));
103
+ let _e67 = (*a_2)[2u];
104
+ param_8 = _e67;
105
+ let _e69 = (*b_2)[2u];
106
+ param_9 = _e69;
107
+ let _e70 = apow((&param_8), (&param_9));
108
+ return vec3<f32>(_e60, _e65, _e70);
109
+ }
110
+
111
+ fn smooth_mix(a_3: ptr<function, f32>, b_3: ptr<function, f32>, c: ptr<function, f32>) -> f32 {
112
+ var param_10: f32;
113
+ var param_11: f32;
114
+
115
+ let _e53 = (*a_3);
116
+ let _e54 = (*b_3);
117
+ let _e55 = (*c);
118
+ param_10 = _e55;
119
+ param_11 = 2f;
120
+ let _e56 = sigmoid((&param_10), (&param_11));
121
+ return mix(_e53, _e54, _e56);
122
+ }
123
+
124
+ fn random(co_1: ptr<function, vec2<f32>>, shft: ptr<function, f32>) -> f32 {
125
+ var param_12: f32;
126
+ var param_13: f32;
127
+ var param_14: f32;
128
+
129
+ let _e53 = (*co_1);
130
+ (*co_1) = (_e53 + vec2(10f));
131
+ let _e56 = (*co_1);
132
+ let _e57 = (*shft);
133
+ let _e62 = uniforms.Seed;
134
+ let _e69 = (*co_1);
135
+ let _e70 = (*shft);
136
+ let _e76 = uniforms.Seed;
137
+ let _e83 = (*shft);
138
+ param_12 = fract((sin(dot(_e56, vec2<f32>((12.9898f + (floor(_e57) * 0.5f)), (78.233f + _e62)))) * 43758.547f));
139
+ param_13 = fract((sin(dot(_e69, vec2<f32>((12.9898f + (floor((_e70 + 1f)) * 0.5f)), (78.233f + _e76)))) * 43758.547f));
140
+ param_14 = fract(_e83);
141
+ let _e85 = smooth_mix((&param_12), (&param_13), (&param_14));
142
+ return _e85;
143
+ }
144
+
145
+ fn smooth_random(co_2: ptr<function, vec2<f32>>, shft_1: ptr<function, f32>) -> f32 {
146
+ var param_15: vec2<f32>;
147
+ var param_16: f32;
148
+ var param_17: vec2<f32>;
149
+ var param_18: f32;
150
+ var param_19: f32;
151
+ var param_20: f32;
152
+ var param_21: f32;
153
+ var param_22: vec2<f32>;
154
+ var param_23: f32;
155
+ var param_24: vec2<f32>;
156
+ var param_25: f32;
157
+ var param_26: f32;
158
+ var param_27: f32;
159
+ var param_28: f32;
160
+ var param_29: f32;
161
+ var param_30: f32;
162
+ var param_31: f32;
163
+
164
+ let _e67 = (*co_2);
165
+ param_15 = floor(_e67);
166
+ let _e69 = (*shft_1);
167
+ param_16 = _e69;
168
+ let _e70 = random((&param_15), (&param_16));
169
+ let _e71 = (*co_2);
170
+ param_17 = floor((_e71 + vec2<f32>(1f, 0f)));
171
+ let _e74 = (*shft_1);
172
+ param_18 = _e74;
173
+ let _e75 = random((&param_17), (&param_18));
174
+ let _e77 = (*co_2)[0u];
175
+ param_19 = _e70;
176
+ param_20 = _e75;
177
+ param_21 = fract(_e77);
178
+ let _e79 = smooth_mix((&param_19), (&param_20), (&param_21));
179
+ let _e80 = (*co_2);
180
+ param_22 = floor((_e80 + vec2<f32>(0f, 1f)));
181
+ let _e83 = (*shft_1);
182
+ param_23 = _e83;
183
+ let _e84 = random((&param_22), (&param_23));
184
+ let _e85 = (*co_2);
185
+ param_24 = floor((_e85 + vec2<f32>(1f, 1f)));
186
+ let _e88 = (*shft_1);
187
+ param_25 = _e88;
188
+ let _e89 = random((&param_24), (&param_25));
189
+ let _e91 = (*co_2)[0u];
190
+ param_26 = _e84;
191
+ param_27 = _e89;
192
+ param_28 = fract(_e91);
193
+ let _e93 = smooth_mix((&param_26), (&param_27), (&param_28));
194
+ let _e95 = (*co_2)[1u];
195
+ param_29 = _e79;
196
+ param_30 = _e93;
197
+ param_31 = fract(_e95);
198
+ let _e97 = smooth_mix((&param_29), (&param_30), (&param_31));
199
+ return _e97;
200
+ }
201
+
202
+ fn rand_u0028_f1_u003b(co_3: ptr<function, f32>) -> f32 {
203
+ let _e49 = (*co_3);
204
+ let _e52 = uniforms.Seed;
205
+ return fract((sin(((_e49 * 24.9898f) + _e52)) * 43758.547f));
206
+ }
207
+
208
+ fn transition(p_1: ptr<function, vec2<f32>>) -> vec4<f32> {
209
+ var f: vec3<f32>;
210
+ var i: f32;
211
+ var param_32: f32;
212
+ var param_33: f32;
213
+ var param_34: f32;
214
+ var param_35: f32;
215
+ var param_36: vec2<f32>;
216
+ var param_37: f32;
217
+ var param_38: vec2<f32>;
218
+ var param_39: f32;
219
+ var param_40: f32;
220
+ var param_41: vec3<f32>;
221
+ var param_42: vec3<f32>;
222
+ var param_43: vec2<f32>;
223
+ var param_44: f32;
224
+ var blurred_image: vec4<f32>;
225
+ var bluramount: f32;
226
+ var i_1: f32;
227
+ var q: vec2<f32>;
228
+ var param_45: vec2<f32>;
229
+ var uv2_: vec2<f32>;
230
+ var param_46: vec2<f32>;
231
+
232
+ f = vec3<f32>(0f, 0f, 0f);
233
+ i = 0f;
234
+ loop {
235
+ let _e71 = i;
236
+ if (_e71 < 13f) {
237
+ let _e74 = (*p_1)[0u];
238
+ let _e75 = i;
239
+ param_32 = _e75;
240
+ let _e76 = rand_u0028_f1_u003b((&param_32));
241
+ let _e80 = uniforms.progress;
242
+ let _e83 = i;
243
+ param_33 = (_e83 + 1.43f);
244
+ let _e85 = rand_u0028_f1_u003b((&param_33));
245
+ let _e89 = (*p_1)[1u];
246
+ let _e90 = i;
247
+ param_34 = (_e90 + 4.4f);
248
+ let _e92 = rand_u0028_f1_u003b((&param_34));
249
+ let _e96 = uniforms.progress;
250
+ let _e99 = i;
251
+ param_35 = (_e99 + 2.4f);
252
+ let _e101 = rand_u0028_f1_u003b((&param_35));
253
+ let _e105 = f;
254
+ f = (_e105 + vec3((sin(((((_e74 * _e76) * 6f) + (_e80 * 8f)) + _e85)) * sin(((((_e89 * _e92) * 6f) + (_e96 * 6f)) + _e101)))));
255
+ let _e108 = (*p_1);
256
+ let _e110 = uniforms.progress;
257
+ let _e113 = i;
258
+ param_36 = vec2((_e110 * 1.3f));
259
+ param_37 = (_e113 + 1f);
260
+ let _e115 = smooth_random((&param_36), (&param_37));
261
+ let _e117 = uniforms.progress;
262
+ let _e120 = i;
263
+ param_38 = vec2((_e117 * 0.5f));
264
+ param_39 = (_e120 + 6.25f);
265
+ let _e122 = smooth_random((&param_38), (&param_39));
266
+ let _e126 = i;
267
+ param_40 = _e126;
268
+ let _e127 = rand_u0028_f1_u003b((&param_40));
269
+ let _e132 = f;
270
+ f = (_e132 + vec3((1f - clamp((length((_e108 - vec2<f32>(_e115, _e122))) * mix(20f, 70f, _e127)), 0f, 1f))));
271
+ continue;
272
+ } else {
273
+ break;
274
+ }
275
+ continuing {
276
+ let _e135 = i;
277
+ i = (_e135 + 1f);
278
+ }
279
+ }
280
+ let _e137 = f;
281
+ f = (_e137 + vec3(4f));
282
+ let _e140 = f;
283
+ f = (_e140 / vec3(11f));
284
+ let _e143 = f;
285
+ let _e146 = uniforms.progress;
286
+ param_41 = (_e143 * vec3<f32>(1f, 0.7f, 0.6f));
287
+ param_42 = vec3<f32>(1f, (2f - sin((_e146 * 3.1415927f))), 1.3f);
288
+ let _e151 = pow3((&param_41), (&param_42));
289
+ f = _e151;
290
+ let _e153 = uniforms.progress;
291
+ let _e156 = f;
292
+ f = (_e156 * sin((_e153 * 3.1415927f)));
293
+ let _e158 = (*p_1);
294
+ (*p_1) = (_e158 - vec2(0.5f));
295
+ let _e162 = uniforms.progress;
296
+ param_43 = vec2((_e162 * 5f));
297
+ param_44 = 6.3f;
298
+ let _e165 = smooth_random((&param_43), (&param_44));
299
+ let _e167 = uniforms.progress;
300
+ let _e173 = (*p_1);
301
+ (*p_1) = (_e173 * (1f + ((_e165 * sin((_e167 * 3.1415927f))) * 0.05f)));
302
+ let _e175 = (*p_1);
303
+ (*p_1) = (_e175 + vec2(0.5f));
304
+ blurred_image = vec4<f32>(0f, 0f, 0f, 0f);
305
+ let _e179 = uniforms.progress;
306
+ bluramount = (sin((_e179 * 3.1415927f)) * 0.03f);
307
+ i_1 = 0f;
308
+ loop {
309
+ let _e183 = i_1;
310
+ if (_e183 < 50f) {
311
+ let _e185 = i_1;
312
+ let _e190 = i_1;
313
+ let _e196 = i_1;
314
+ let _e198 = (*p_1)[0u];
315
+ let _e200 = (*p_1)[1u];
316
+ param_45 = vec2<f32>(_e196, (_e198 + _e200));
317
+ let _e203 = rand_u0028_vf2_u003b((&param_45));
318
+ let _e204 = bluramount;
319
+ q = (vec2<f32>(cos(degrees(((_e185 / 50f) * 360f))), sin(degrees(((_e190 / 50f) * 360f)))) * (_e203 + _e204));
320
+ let _e207 = (*p_1);
321
+ let _e208 = q;
322
+ let _e209 = bluramount;
323
+ uv2_ = (_e207 + (_e208 * _e209));
324
+ let _e212 = uv2_;
325
+ param_46 = _e212;
326
+ let _e213 = blendedColor((&param_46));
327
+ let _e214 = blurred_image;
328
+ blurred_image = (_e214 + _e213);
329
+ continue;
330
+ } else {
331
+ break;
332
+ }
333
+ continuing {
334
+ let _e216 = i_1;
335
+ i_1 = (_e216 + 1f);
336
+ }
337
+ }
338
+ let _e218 = blurred_image;
339
+ blurred_image = (_e218 / vec4(50f));
340
+ let _e221 = blurred_image;
341
+ let _e222 = f;
342
+ return (_e221 + vec4<f32>(_e222.x, _e222.y, _e222.z, 0f));
343
+ }
344
+
345
+ fn main_1() {
346
+ var param_47: vec2<f32>;
347
+
348
+ let _e49 = _uv_1;
349
+ param_47 = _e49;
350
+ let _e50 = transition((&param_47));
351
+ _fragColor = _e50;
352
+ return;
353
+ }
354
+
355
+ @fragment
356
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
357
+ _uv_1 = _uv;
358
+ main_1();
359
+ let _e3 = _fragColor;
360
+ return _e3;
361
+ }
package/wgsl/Fold.wgsl ADDED
@@ -0,0 +1,82 @@
1
+ // Fold — WGSL, generated from https://github.com/gl-transitions/gl-transitions/blob/master/transitions/Fold.glsl
2
+ // Author: nwoeanhinnogaehr
3
+ // License: MIT
4
+ // Description: The incoming image unfolds from the left while the outgoing one folds away to the right
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 _e13 = (*uv)[0u];
25
+ let _e15 = (*uv)[1u];
26
+ let _e18 = textureSampleLevel(_to, _sampler, vec2<f32>(_e13, (1f - _e15)), 0f);
27
+ return _e18;
28
+ }
29
+
30
+ fn getFromColor(uv_1: ptr<function, vec2<f32>>) -> vec4<f32> {
31
+ let _e13 = (*uv_1)[0u];
32
+ let _e15 = (*uv_1)[1u];
33
+ let _e18 = textureSampleLevel(_from, _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 param: vec2<f32>;
39
+ var param_1: vec2<f32>;
40
+ var phi_76_: bool;
41
+
42
+ let _e15 = uniforms.progress;
43
+ let _e16 = (_e15 == 0f);
44
+ phi_76_ = _e16;
45
+ if !(_e16) {
46
+ let _e19 = (*uv_2)[0u];
47
+ let _e21 = uniforms.progress;
48
+ phi_76_ = (_e19 > _e21);
49
+ }
50
+ let _e24 = phi_76_;
51
+ if _e24 {
52
+ let _e25 = (*uv_2);
53
+ let _e27 = uniforms.progress;
54
+ let _e31 = uniforms.progress;
55
+ param = ((_e25 - vec2<f32>(_e27, 0f)) / vec2<f32>((1f - _e31), 1f));
56
+ let _e35 = getFromColor((&param));
57
+ return _e35;
58
+ }
59
+ let _e36 = (*uv_2);
60
+ let _e38 = uniforms.progress;
61
+ param_1 = (_e36 / vec2<f32>(_e38, 1f));
62
+ let _e41 = getToColor((&param_1));
63
+ return _e41;
64
+ }
65
+
66
+ fn main_1() {
67
+ var param_2: vec2<f32>;
68
+
69
+ let _e12 = _uv_1;
70
+ param_2 = _e12;
71
+ let _e13 = transition((&param_2));
72
+ _fragColor = _e13;
73
+ return;
74
+ }
75
+
76
+ @fragment
77
+ fn main(@location(0) _uv: vec2<f32>) -> @location(0) vec4<f32> {
78
+ _uv_1 = _uv;
79
+ main_1();
80
+ let _e3 = _fragColor;
81
+ return _e3;
82
+ }