Exact discrete state: Every cubelet sits in an integer slot with one of 24 exact integer orientations; jelly motion is purely visual on top.
Screen-locked twists: Dragging projects the touched face's two axes to screen space, locking to the closest layer and direction from any angle.
3×3×3 soft lattice: Each cubelet embeds a rounded mesh inside a 27-node volume-preserving lattice that shears, squishes and clamps deformation.
Spring overshoot: Released turns follow an underdamped spring with an 8–18° jelly overshoot while the rest of the cube rocks back.
Playback & WebAudio: Solve simplifies and inverts your move history; every slide, squelch, bloop and chime is synthesized live in code.
Rubik's Jelly requires WebGPU or WebGL2 to simulate and render real-time translucent jelly shaders, neither of which is available in this browser.