Recreation of the whirl effect as a custom block. Code translated from the scratch foundation github here: https://github.com/scratchfoundation/scratch-render/blob/develop/src/shaders/sprite.frag Maybe more effects coming soon? (press space) Turbowarp recommended for less lag: https://turbowarp.org/1122152940?stuck Now everything is pixel aligned and doesn't move the actual pixels to reproduce the effect. index = (floor((cx + cos(-whirl_strength * (max(1 - (((x-cx)**2 + (y-cy)**2)**0.5)/radius, 0)**2))*(x-cx) - sin(-whirl_strength * (max(1 - (((x-cx)**2 + (y-cy)**2)**0.5)/radius, 0)**2))*(y-cy)) * 200) % 200) + floor((cy + sin(-whirl_strength * (max(1 - (((x-cx)**2 + (y-cy)**2)**0.5)/radius, 0)**2))*(x-cx) + cos(-whirl_strength * (max(1 - (((x-cx)**2 + (y-cy)**2)**0.5)/radius, 0)**2))*(y-cy)) * 200) * 200