gl-transitions 1.71.0 → 1.73.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 (256) hide show
  1. package/README.md +38 -6
  2. package/gl-transitions.js +1 -1
  3. package/gl-transitions.json +1 -1
  4. package/index.d.ts +45 -0
  5. package/index.js +1 -1
  6. package/package.json +6 -3
  7. package/sksl/AdvancedMosaic.sksl +34 -0
  8. package/sksl/BlockDissolve.sksl +29 -0
  9. package/sksl/BookFlip.sksl +50 -0
  10. package/sksl/Bounce.sksl +48 -0
  11. package/sksl/BowTieHorizontal.sksl +136 -0
  12. package/sksl/BowTieVertical.sksl +130 -0
  13. package/sksl/BowTieWithParameter.sksl +88 -0
  14. package/sksl/Box.sksl +47 -0
  15. package/sksl/ButterflyWaveScrawler.sksl +48 -0
  16. package/sksl/CircleCrop.sksl +32 -0
  17. package/sksl/ColourDistance.sksl +32 -0
  18. package/sksl/CrazyParametricFun.sksl +34 -0
  19. package/sksl/CrossZoom.sksl +76 -0
  20. package/sksl/DefocusBlur.sksl +56 -0
  21. package/sksl/Directional.sksl +31 -0
  22. package/sksl/DirectionalScaled.sksl +44 -0
  23. package/sksl/DoomScreenTransition.sksl +65 -0
  24. package/sksl/Dreamy.sksl +28 -0
  25. package/sksl/DreamyZoom.sksl +46 -0
  26. package/sksl/Drop_Zone_Flicker.sksl +170 -0
  27. package/sksl/EdgeTransition.sksl +64 -0
  28. package/sksl/FilmBurn.sksl +75 -0
  29. package/sksl/Fold.sksl +25 -0
  30. package/sksl/GlitchDisplace.sksl +90 -0
  31. package/sksl/GlitchMemories.sksl +31 -0
  32. package/sksl/GridFlip.sksl +89 -0
  33. package/sksl/HSVfade.sksl +40 -0
  34. package/sksl/HorizontalClose.sksl +30 -0
  35. package/sksl/HorizontalOpen.sksl +32 -0
  36. package/sksl/InvertedPageCurl.sksl +207 -0
  37. package/sksl/LeftRight.sksl +42 -0
  38. package/sksl/LinearBlur.sksl +44 -0
  39. package/sksl/Mosaic.sksl +55 -0
  40. package/sksl/Overexposure.sksl +38 -0
  41. package/sksl/PolkaDotsCurtain.sksl +29 -0
  42. package/sksl/PuzzleRight.sksl +70 -0
  43. package/sksl/Radial.sksl +32 -0
  44. package/sksl/Rectangle.sksl +42 -0
  45. package/sksl/RectangleCrop.sksl +43 -0
  46. package/sksl/Revolve_Left.sksl +110 -0
  47. package/sksl/Rolls.sksl +48 -0
  48. package/sksl/RotateScaleVanish.sksl +49 -0
  49. package/sksl/SimpleFlip.sksl +27 -0
  50. package/sksl/SimpleZoom.sksl +33 -0
  51. package/sksl/SimpleZoomOut.sksl +35 -0
  52. package/sksl/Slides.sksl +48 -0
  53. package/sksl/StarWipe.sksl +62 -0
  54. package/sksl/StaticFade.sksl +61 -0
  55. package/sksl/StereoViewer.sksl +190 -0
  56. package/sksl/StripDatamoshGlitch.sksl +201 -0
  57. package/sksl/Swirl.sksl +46 -0
  58. package/sksl/TVStatic.sksl +41 -0
  59. package/sksl/TilesWave.sksl +75 -0
  60. package/sksl/TopBottom.sksl +41 -0
  61. package/sksl/VerticalClose.sksl +30 -0
  62. package/sksl/VerticalOpen.sksl +31 -0
  63. package/sksl/WaterDrop.sksl +35 -0
  64. package/sksl/ZoomInCircles.sksl +53 -0
  65. package/sksl/ZoomLeftWipe.sksl +49 -0
  66. package/sksl/ZoomRigthWipe.sksl +49 -0
  67. package/sksl/angular.sksl +36 -0
  68. package/sksl/burn.sksl +28 -0
  69. package/sksl/burn0.sksl +65 -0
  70. package/sksl/cannabisleaf.sksl +30 -0
  71. package/sksl/chessboard.sksl +41 -0
  72. package/sksl/circle.sksl +37 -0
  73. package/sksl/circleopen.sksl +32 -0
  74. package/sksl/colorphase.sksl +29 -0
  75. package/sksl/coord-from-in.sksl +32 -0
  76. package/sksl/crosshatch.sksl +32 -0
  77. package/sksl/crosswarp.sksl +25 -0
  78. package/sksl/cube.sksl +82 -0
  79. package/sksl/directional-easing.sksl +32 -0
  80. package/sksl/directionalwarp.sksl +33 -0
  81. package/sksl/directionalwipe.sksl +35 -0
  82. package/sksl/displacement.sksl +37 -0
  83. package/sksl/dissolve.sksl +68 -0
  84. package/sksl/doorway.sksl +68 -0
  85. package/sksl/fade.sksl +27 -0
  86. package/sksl/fadecolor.sksl +29 -0
  87. package/sksl/fadegrayscale.sksl +34 -0
  88. package/sksl/flyeye.sksl +35 -0
  89. package/sksl/fragment.sksl +66 -0
  90. package/sksl/heart.sksl +33 -0
  91. package/sksl/hexagonalize.sksl +91 -0
  92. package/sksl/kaleidoscope.sksl +39 -0
  93. package/sksl/luma.sksl +30 -0
  94. package/sksl/luminance_melt.sksl +109 -0
  95. package/sksl/morph.sksl +34 -0
  96. package/sksl/mosaic_transition.sksl +33 -0
  97. package/sksl/multiply_blend.sksl +33 -0
  98. package/sksl/old_tv_lost_signal.sksl +65 -0
  99. package/sksl/parametric_glitch.sksl +40 -0
  100. package/sksl/perlin.sksl +75 -0
  101. package/sksl/pinwheel.sksl +33 -0
  102. package/sksl/pixelize.sksl +31 -0
  103. package/sksl/polar_function.sksl +35 -0
  104. package/sksl/powerKaleido.sksl +70 -0
  105. package/sksl/randomNoisex.sksl +29 -0
  106. package/sksl/randomsquares.sksl +33 -0
  107. package/sksl/ripple.sksl +34 -0
  108. package/sksl/rotateTransition.sksl +34 -0
  109. package/sksl/rotate_scale_fade.sksl +50 -0
  110. package/sksl/scale-in.sksl +32 -0
  111. package/sksl/splitSlideInHorizontal.sksl +39 -0
  112. package/sksl/splitSlideInOutHorizontal.sksl +36 -0
  113. package/sksl/splitSlideInOutVertical.sksl +36 -0
  114. package/sksl/splitSlideInVertical.sksl +37 -0
  115. package/sksl/splitSlideOutHorizontal.sksl +35 -0
  116. package/sksl/splitSlideOutVertical.sksl +35 -0
  117. package/sksl/squareswire.sksl +39 -0
  118. package/sksl/squeeze.sksl +36 -0
  119. package/sksl/static_wipe.sksl +50 -0
  120. package/sksl/swap.sksl +77 -0
  121. package/sksl/tangentMotionBlur.sksl +145 -0
  122. package/sksl/undulatingBurnOut.sksl +65 -0
  123. package/sksl/wind.sksl +38 -0
  124. package/sksl/windowblinds.sksl +32 -0
  125. package/sksl/windowslice.sksl +29 -0
  126. package/sksl/wipeDown.sksl +26 -0
  127. package/sksl/wipeLeft.sksl +26 -0
  128. package/sksl/wipeRight.sksl +26 -0
  129. package/sksl/wipeUp.sksl +26 -0
  130. package/sksl/x_axis_translation.sksl +35 -0
  131. package/sksl/zoomInOut.sksl +34 -0
  132. package/transitions/AdvancedMosaic.glsl +2 -0
  133. package/transitions/BlockDissolve.glsl +2 -0
  134. package/transitions/BookFlip.glsl +9 -2
  135. package/transitions/Bounce.glsl +5 -0
  136. package/transitions/BowTieHorizontal.glsl +2 -0
  137. package/transitions/BowTieVertical.glsl +115 -113
  138. package/transitions/BowTieWithParameter.glsl +3 -0
  139. package/transitions/Box.glsl +3 -0
  140. package/transitions/ButterflyWaveScrawler.glsl +2 -0
  141. package/transitions/CircleCrop.glsl +5 -3
  142. package/transitions/ColourDistance.glsl +2 -0
  143. package/transitions/CrazyParametricFun.glsl +2 -0
  144. package/transitions/CrossZoom.glsl +3 -0
  145. package/transitions/DefocusBlur.glsl +3 -0
  146. package/transitions/Directional.glsl +3 -0
  147. package/transitions/DirectionalScaled.glsl +3 -0
  148. package/transitions/DoomScreenTransition.glsl +2 -0
  149. package/transitions/Dreamy.glsl +2 -0
  150. package/transitions/DreamyZoom.glsl +2 -0
  151. package/transitions/Drop_Zone_Flicker.glsl +2 -0
  152. package/transitions/EdgeTransition.glsl +2 -0
  153. package/transitions/FilmBurn.glsl +5 -2
  154. package/transitions/Fold.glsl +2 -0
  155. package/transitions/GlitchDisplace.glsl +2 -4
  156. package/transitions/GlitchMemories.glsl +2 -0
  157. package/transitions/GridFlip.glsl +4 -0
  158. package/transitions/HSVfade.glsl +2 -0
  159. package/transitions/HorizontalClose.glsl +2 -0
  160. package/transitions/HorizontalOpen.glsl +2 -0
  161. package/transitions/InvertedPageCurl.glsl +2 -0
  162. package/transitions/LeftRight.glsl +2 -0
  163. package/transitions/LinearBlur.glsl +3 -0
  164. package/transitions/Mosaic.glsl +2 -0
  165. package/transitions/Overexposure.glsl +3 -0
  166. package/transitions/PolkaDotsCurtain.glsl +3 -0
  167. package/transitions/PuzzleRight.glsl +2 -0
  168. package/transitions/Radial.glsl +2 -0
  169. package/transitions/Rectangle.glsl +4 -2
  170. package/transitions/RectangleCrop.glsl +3 -0
  171. package/transitions/Revolve_Left.glsl +3 -0
  172. package/transitions/Rolls.glsl +4 -0
  173. package/transitions/RotateScaleVanish.glsl +5 -0
  174. package/transitions/SimpleFlip.glsl +2 -0
  175. package/transitions/SimpleZoom.glsl +4 -2
  176. package/transitions/SimpleZoomOut.glsl +5 -2
  177. package/transitions/Slides.glsl +3 -0
  178. package/transitions/StarWipe.glsl +5 -0
  179. package/transitions/StaticFade.glsl +2 -0
  180. package/transitions/StereoViewer.glsl +3 -0
  181. package/transitions/StripDatamoshGlitch.glsl +2 -0
  182. package/transitions/Swirl.glsl +2 -0
  183. package/transitions/TVStatic.glsl +3 -0
  184. package/transitions/TilesWave.glsl +3 -0
  185. package/transitions/TopBottom.glsl +2 -0
  186. package/transitions/VerticalClose.glsl +2 -0
  187. package/transitions/VerticalOpen.glsl +2 -0
  188. package/transitions/WaterDrop.glsl +4 -0
  189. package/transitions/ZoomInCircles.glsl +3 -2
  190. package/transitions/ZoomLeftWipe.glsl +4 -2
  191. package/transitions/ZoomRigthWipe.glsl +4 -2
  192. package/transitions/angular.glsl +3 -0
  193. package/transitions/burn.glsl +3 -0
  194. package/transitions/burn0.glsl +3 -0
  195. package/transitions/cannabisleaf.glsl +2 -0
  196. package/transitions/chessboard.glsl +3 -0
  197. package/transitions/circle.glsl +4 -0
  198. package/transitions/circleopen.glsl +4 -0
  199. package/transitions/colorphase.glsl +4 -0
  200. package/transitions/coord-from-in.glsl +2 -0
  201. package/transitions/crosshatch.glsl +3 -0
  202. package/transitions/crosswarp.glsl +2 -0
  203. package/transitions/cube.glsl +4 -0
  204. package/transitions/directional-easing.glsl +3 -0
  205. package/transitions/directionalwarp.glsl +4 -0
  206. package/transitions/directionalwipe.glsl +4 -0
  207. package/transitions/displacement.glsl +3 -0
  208. package/transitions/dissolve.glsl +4 -4
  209. package/transitions/doorway.glsl +4 -0
  210. package/transitions/fade.glsl +2 -0
  211. package/transitions/fadecolor.glsl +4 -0
  212. package/transitions/fadegrayscale.glsl +3 -0
  213. package/transitions/flyeye.glsl +2 -0
  214. package/transitions/fragment.glsl +2 -0
  215. package/transitions/heart.glsl +2 -0
  216. package/transitions/hexagonalize.glsl +3 -0
  217. package/transitions/kaleidoscope.glsl +2 -0
  218. package/transitions/luma.glsl +2 -0
  219. package/transitions/luminance_melt.glsl +6 -2
  220. package/transitions/morph.glsl +3 -0
  221. package/transitions/mosaic_transition.glsl +3 -0
  222. package/transitions/multiply_blend.glsl +2 -0
  223. package/transitions/old_tv_lost_signal.glsl +2 -0
  224. package/transitions/parametric_glitch.glsl +4 -0
  225. package/transitions/perlin.glsl +5 -4
  226. package/transitions/pinwheel.glsl +3 -0
  227. package/transitions/pixelize.glsl +7 -4
  228. package/transitions/polar_function.glsl +3 -0
  229. package/transitions/powerKaleido.glsl +3 -1
  230. package/transitions/randomNoisex.glsl +2 -0
  231. package/transitions/randomsquares.glsl +4 -0
  232. package/transitions/ripple.glsl +4 -0
  233. package/transitions/rotateTransition.glsl +2 -0
  234. package/transitions/rotate_scale_fade.glsl +6 -0
  235. package/transitions/scale-in.glsl +2 -0
  236. package/transitions/splitSlideInHorizontal.glsl +3 -0
  237. package/transitions/splitSlideInOutHorizontal.glsl +3 -0
  238. package/transitions/splitSlideInOutVertical.glsl +3 -0
  239. package/transitions/splitSlideInVertical.glsl +3 -0
  240. package/transitions/splitSlideOutHorizontal.glsl +3 -0
  241. package/transitions/splitSlideOutVertical.glsl +3 -0
  242. package/transitions/squareswire.glsl +5 -0
  243. package/transitions/squeeze.glsl +3 -0
  244. package/transitions/static_wipe.glsl +4 -0
  245. package/transitions/swap.glsl +4 -0
  246. package/transitions/tangentMotionBlur.glsl +2 -0
  247. package/transitions/undulatingBurnOut.glsl +5 -0
  248. package/transitions/wind.glsl +4 -1
  249. package/transitions/windowblinds.glsl +2 -0
  250. package/transitions/windowslice.glsl +4 -0
  251. package/transitions/wipeDown.glsl +2 -0
  252. package/transitions/wipeLeft.glsl +2 -0
  253. package/transitions/wipeRight.glsl +2 -0
  254. package/transitions/wipeUp.glsl +2 -0
  255. package/transitions/x_axis_translation.glsl +2 -0
  256. package/transitions/zoomInOut.glsl +2 -0
package/README.md CHANGED
@@ -6,21 +6,53 @@ Browse all transitions on **[gl-transitions.com](https://gl-transitions.com/)**.
6
6
 
7
7
  This package exposes an Array<Transition> auto-generated from the [GitHub repository](https://github.com/gl-transitions/gl-transitions).
8
8
 
9
- A Transition is an object with the following shape:
9
+ A Transition is an object with the following shape (TypeScript types are included):
10
10
 
11
- ```js
11
+ ```ts
12
12
  {
13
- name: string,
13
+ name: string, // stable identifier, also the file name
14
14
  author: string,
15
15
  license: string,
16
- glsl: string,
17
- defaultParams: { [key: string]: mixed },
18
- paramsTypes: { [key: string]: string },
16
+ glsl: string, // implements vec4 transition(vec2 uv)
17
+ description?: string,
18
+ tags: string[],
19
+ params: { // one entry per parameter
20
+ [name: string]: {
21
+ type: string, // "float", "vec2", "bool", ...
22
+ default?: number | boolean | number[],
23
+ min?: number, max?: number, step?: number, // suggested UI bounds
24
+ color?: boolean, // the value is a color
25
+ description?: string,
26
+ }
27
+ },
28
+ textures: string[], // extra sampler2D inputs, beyond from/to
29
+ paramsTypes: { [name: string]: string }, // legacy, prefer params
30
+ defaultParams: { [name: string]: number | boolean | number[] }, // legacy, prefer params
19
31
  createdAt: string,
20
32
  updatedAt: string,
21
33
  }
22
34
  ```
23
35
 
36
+ ## Files
37
+
38
+ | Path | Content |
39
+ |---|---|
40
+ | `index.js` | The collection (CommonJS; `import` works too) |
41
+ | `gl-transitions.json` | The same, as JSON |
42
+ | `gl-transitions.js` | The same, as a `window.GLTransitions` script |
43
+ | `transitions/<name>.glsl` | Each transition's GLSL source |
44
+ | `sksl/<name>.sksl` | Each transition as a standalone [SkSL](https://skia.org/docs/user/sksl/) runtime effect, for Skia-based renderers (React Native Skia, CanvasKit, Flutter/Skia, Compose Multiplatform, skia-safe) |
45
+
46
+ ### SkSL contract
47
+
48
+ Every `sksl/<name>.sksl` has the same interface:
49
+
50
+ - children: `_from` and `_to` (the two images, drawn at the output size), then one per entry of `textures`
51
+ - uniforms: `float2 _resolution` (output size in pixels), `float progress`, `float ratio`, then each parameter by name (`bool` parameters are `int`, 0 or 1)
52
+ - entry point: `half4 main(float2 coord)`, pixel coordinates with a top-left origin; the output is premultiplied
53
+
54
+ Each file is compiled with Skia and compared against the GLSL rendering in CI.
55
+
24
56
  For more information, please check out the [GitHub repository](https://github.com/gl-transitions/gl-transitions).
25
57
 
26
58
  ## Install