Urgent.News

What's breaking now, across thousands of outlets.

Tech

Making images wobble in the browser: masks, spring motion and local GIF/MP4/WebM export

Disclosure: I made Purupuru Maker , the browser tool this post is based on. "Purupuru" (ぷるぷる) is the Japanese onomatopoeia for something soft and jiggly, like pudding, cheeks or a jelly cat. The tool does one thing. You paint where a still image should wobble, preview the jelly motion, and export a GIF, MP4 or WebM. All of it runs in the browser tab, with no upload and no account. Below…

"Purupuru Maker" is a browser tool that lets users create wobbling animations, named after the Japanese word for something soft and jiggly. The tool works entirely in the browser without the need to upload or account for user data. The process begins with decoding a static image, such as a PNG, JPEG, or WebP, into memory. A mask is then applied to determine which regions of the image can move.

This mask is not a simple binary selection, but rather a graded brush that controls the strength of each pixel's movement. The resulting soft-body-like deformation is rendered using WebGL2, allowing for real-time preview and export of the animation as a GIF, MP4, or WebM file. The tool supports various motion presets, each defined by parameters like strength, speed, and direction, which can be adjusted to achieve different effects.

The final animation is encoded using the WebCodecs VideoEncoder API, probing the device's capabilities to determine the most suitable encoding method. If MP4 or WebM encoding is not supported, the tool falls back to GIF. The export process runs independently of the main UI thread, ensuring a responsive user experience.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Installing ReSkate for skate. on PC: a version-aware setup and troubleshooting guide

Disclosure: I run reskatemods.com , an independent index of ReSkate maps, mods and install notes. I'm not affiliated with the ReSkate authors (Dingo-Shenanigans), EA or Full Circle.

  • ReSkate is a free GPL-3.0 mod platform for Skate PC version
  • Installation guide covers ReSkate 2.0.7, latest version as of Oct 2026
  • Version matching required for multiplayer and offline play

My AI visibility score was 29.2. Here is what the one number was hiding

The daily run of my AI citation tracker finished on 21 October with a blended score of 29.2. On its own that reads like a mediocre week.

  • My AI citation tracker posted a blended score of 29.2 on October 21st
  • The "Direct" bucket accounted for 88.9% of the points
  • Genre recommendation bucket contributed 50.0% to the total score

Comparing satisfies, type annotations, and assertions through compiler output

Use satisfies when a configuration value should meet a type while its individual properties remain convenient to use. Two common shortcuts are misleading, though: that it can never affect inference…

  • Satisfies, type annotations, and assertions serve distinct purposes in TypeScript
  • Compiler output illustrates differences in behavior and type checking
  • satisfies provides compatibility checks, type annotations offer explicit types

cosskill update: attach screenshots to your practice conversations

Quick update for anyone using cosskill to rehearse high-stakes conversations — you can now attach screenshots to a practice conversation.

  • New feature allows attaching screenshots to practice conversations
  • AI persona uses image for context in simulated dialogue
  • Free tier offers five messages per day with no sign-up required

More from Thursday 22 October →