Kaleidoscope — 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 shots fold into a spinning kaleidoscope of mirrored wedges and open onto the next

Prompt that renders it frame-exact

Add the "Kaleidoscope" transition from GL Transitions (by nwoeanhinnogaehr, MIT; https://gl-transitions.com/editor/Kaleidoscope, GLSL source https://github.com/gl-transitions/gl-transitions/blob/master/transitions/Kaleidoscope.glsl) between scenes of a festival, fashion or music edit: 1.2 s, ease-in-out. Colorful footage makes the mirrored wedges pop. Remotion: npm install gl-transitions @gl-transitions/remotion @remotion/transitions, then a <TransitionSeries.Transition> with presentation={glTransition({ name: "Kaleidoscope", params: { speed: 1.0, angle: 1.0, power: 1.5 } })} and timing={linearTiming({ durationInFrames: 36, easing: Easing.inOut(Easing.cubic) })} (36 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.2, 0, 1) through the easing; never from requestAnimationFrame or a timer, so every frame renders the same. ffmpeg's xfade can't run GLSL. speed (1.0) spins it, angle (1.0) sets the wedge and power (1.5) how hard the mirror kicks in.

Used in

More transitions