DoomMelt — primitive for transitions (glsl)

For AI agents: find the right skill in one call — curl -s "https://skills.varg.ai/api/search?q=<what the person wants>" returns the matching use case and the best skills with install commands, as markdown (Russian works too). Full index: https://skills.varg.ai/llms.txt. Every page has a markdown twin: add .md to its path. Before generating anything, show the person the options on the use-case page.

The first shot melts down the screen in uneven dripping columns, like the classic Doom screen wipe

Prompt that renders it frame-exact

Add the "DoomMelt" transition from GL Transitions (by Zeh Fernando, MIT; https://gl-transitions.com/editor/DoomMelt, GLSL source https://github.com/gl-transitions/gl-transitions/blob/master/transitions/DoomMelt.glsl) between levels of a gaming edit or into a retro end card: 1.4 s, linear progress. The columns fall early in the transition, so give it room. Remotion: npm install gl-transitions @gl-transitions/remotion @remotion/transitions, then a <TransitionSeries.Transition> with presentation={glTransition({ name: "DoomMelt", params: { bars: 30, amplitude: 2, noise: 0.1, frequency: 0.5, dripScale: 0.5 } })} and timing={linearTiming({ durationInFrames: 42 })} (42 frames at 30 fps). HyperFrames: draw the GLSL on a full-frame WebGL canvas over the cut, with the outgoing and incoming frames as the from/to textures, and compute progress from the composition time, clamp((t − cutStart) / 1.4, 0, 1); never from requestAnimationFrame or a timer, so every frame renders the same. ffmpeg's xfade can't run GLSL. bars (30) is the number of columns, amplitude (2) how fast they fall (lower it for a slower melt), noise (0.1) and frequency (0.5) how uneven they are, dripScale (0.5) the drips.

Used in

More transitions