Revision 2025 saw another lovely Amiga demo by Cosmic Orbs (Enchanted Glitch), and main coder Jobbo put together a detailled tech write-up again – I love those! The demo features tight optimizations and display tricks for the main effects, stellar transitions by Paradroid, and awesome pixel art by Facet and Prowler that works well even with very constrained palettes, often using only three or four colors.
The background effect in the end scroller was a special “Oh, wow!” moment for me: We see a bitmap being distorted in different patterns, and then being distorted back into the original image:

Back in 2017, I tried something similar for plnx (at 2:10 in the recording) when displaying the party invitation texts. Only I did it in an unnecessarily convoluted way: I set up a tool and designed the distortions by moving 16×16 pixel blocks around, gradually warping the image, and build the effect around that.

In the demo, I wanted to display the text bitmaps in their scrambled form, distort them into the readable orginal image, and distort them back into egg salad. Since my process was destroying the image (each 16×16-pixel copy operation would overwrite portions of the bitmap), I spent a lot of time setting up a just-in-time rendering pipeline that would pre-calculate half of the distortion frames for the “in” transition, play them back, distort the full image in realtime in realtime for the “out” transition, and start the next pre-rendering loop as soon as possible.

The clever method used by Jobbo is to do all the distortions in a lossless fashion using horizontal and vertical rolling shifts that don’t destroy any pixels. You can just reverse all the steps and end up with the original image again. Genious! This way, I could have scrapped the complicated back-and-forth render pipeline – just start with a pre-distorted image, un-distort until readable, pause, and distort into the fade-out… Also, this would save tons of memory, and with a pre-warped image as the starting point, the animation could still keep its direction (i. e. no need for ping-pong).
Edit: Come to think of it, you couldn’t do a “shrinking” effect easily this way because that cannot be lossless. But then again, you have room for a a much larger screen area and can do weirder transitions – like Jobbo did. :)
So, kudos to Cosmic Orbs, and thanks for the greetings! :)