All Opus 5.5 videos › Apps & UI

Interactive 3D gummy citrus slice with soft-body wobble

by Vib3Coded (@vib3coded) · Sep 24, 2026

Prompt

The author shared the full prompt.

Create a beautiful, interactive 3D gummy citrus slice using WebGPU. Deliver the complete experience in one standalone HTML file with embedded JavaScript and WGSL shaders.

This must be a real-time 3D simulation, not a video, image, or looping animation.

APPEARANCE

Create a thick, semicircular orange slice with translucent, juicy flesh, eight distinct segments, delicate internal membranes, tiny bubbles, a pale pith layer, and a soft orange rind.

Make it look like premium gummy candy: saturated color, glossy highlights, light passing through the flesh, convincing refraction, and soft contact shadows. Avoid excessive bloom, washed-out colors, or a hard plastic appearance.

Use a warm, light studio background and a clean editorial interface with generous whitespace. Add the large italic serif title “Citrus Jelly.” Keep controls compact and the slice clearly visible.

SOFT-BODY PHYSICS

The jelly feel is the most important part.

- Grab any part of the slice with a mouse or finger.
- Pull, lift, stretch, twist, and release it.
- Make deformation local: pulling one edge should stretch nearby flesh while the rest follows naturally.
- After release, the slice should wobble, overshoot, and gradually recover its original shape.
- Include gravity, inertia, damping, ground collisions, and soft bouncing.
- Preserve volume approximately and prevent the mesh from collapsing or turning inside out.
- Make the rind slightly firmer than the flesh.
- Internal segments, membranes, and bubbles must follow the deformation without floating outside the body.

Use a stable volumetric soft-body solver, such as a tetrahedral mesh with XPBD constraints. Do not imitate softness by scaling or rotating the entire object.

CONTROLS

Include three color presets: Orange, Lemon, and Ruby.

Add:
- Firmness slider.
- Internal damping slider.
- “Give it a nudge” button.
- Reset button.
- Quarter-speed checkbox.
- Show mesh checkbox.
- Pause/resume button.

Display small live readouts for mass, percentage of rest volume, and kinetic energy.

TECHNICAL REQUIREMENTS

Use genuine WebGPU rendering with WGSL shaders. Generate all geometry and visual details procedurally, without imported models or image files.

Keep simulation updates independent of rendering frame rate. Support desktop and touch devices. Show a clear fallback message if WebGPU is unavailable.

Test strong dragging, repeated releases, all controls, and narrow screens. Fix unstable physics, broken geometry, and visual artifacts before delivering the finished HTML.

The result should feel like a tiny, tactile candy experiment that is genuinely satisfying to play with.
Prompt by @vib3coded, from their reply
Category
Apps & UI
Stack
Three.js, Physics, WebGL, WebGPU
Opus effort
medium
From the author
Opus medium; Astra high; API cost 3.28$
On X
225 likes · 31K views · 87 saves

More app & UI demos

Apps & UIPrompt0:07

Animated fitness app celebration screen from a static design

@Onethirdesigner♥ 2.1K
Apps & UIPrompt0:16

Liquid Glass-style looping UI motion demo with synced audio

@motion_conquest♥ 2K
Apps & UIPrompt0:38

Bluetooth speaker design demo generated with tscircuit

@seveibar♥ 2K
Apps & UIPart of prompt0:15

Bookmark icon animation with cloth-like wave, fill, and shimmer effects

@kippe07♥ 1.2K
Apps & UIPrompt3:04

Evangelion-themed music visualizer with matching UI and multiple visualizations

@LuisBizarro♥ 1.1K
Apps & UIPrompt0:20

Browser-based character editor with live sliders and exportable backgrounds

@magnific♥ 960
Apps & UIPrompt0:07

Premium crypto wallet welcome screen animation

@vvarrdi♥ 816
CSS
Apps & UIPrompt0:17

2D modeling of StandRig from a PSD file

@sayaka_aiart♥ 721
Physics