Create an interactive 3D "Plush Octopus" toy as a single self-contained HTML file using native WebGPU. A cute stuffed octopus sits on a soft studio table: a big round head with two glossy black safety-bead eyes, embroidered blush cheeks and a small stitched smile, and eight chubby tapering arms that lie on the table and curl up at the tips, revealing a paler underside with rows of sucker discs. Make it look like real minky plush: dense real-time fur with visible strands, soft sheen, fur that sways when the toy moves, and soft contact shadows.
Interactions:
- Drag the head or any single arm to stretch it independently; arms must stay connected to the body and never pass through each other or the head.
- "Finger" tool: a finger follows the pointer above the octopus. Nearby arms reach up for it; press to lower it and the arms wrap around it and hold on. Moving or lifting the finger drags or lifts the octopus until the arms let go. Poking the head dents it.
- "Comb" tool: stroke the fur to change its direction; against the grain it looks darker, with the grain it shines. Add a "Smooth fur" button.
- "Shake it" button: pick the octopus up by the crown and shake it so the arms flop and swing like soft sausages, then set it down.
- Squish (press down from above), Toss, and Reset. If it lands upside down, it slowly rolls back onto its arms.
Controls: three fur colours (Coral, Lilac, Lagoon), sliders for stuffing firmness, pile length, and internal damping, quarter speed, pause. Support mouse and touch, camera orbit, and zoom (scroll or pinch). Use an elegant editorial "material study" layout: a large serif title, a compact control panel, and live readouts (mass, volume, kinetic energy, arms holding on). Generate all geometry, materials, and fur procedurally: no external libraries, models, textures, or other assets. Prioritize believable soft-body physics, stable simulation, and a cosy, polished look.