Organic Shapes
Organic shapes — noise-deformed blobs, superellipse squircles, breathing animations
New in this cycle: Organic shape language — noise blobs, squircles, breathing animation
Why
All node shapes are hard geometric primitives (circle, square, hexagon). This cycle explores making nodes feel more organic and alive. Also introduces an OO shape class hierarchy so each shape is self-contained and swappable.
Objective
Explore organic node shapes with noise-based deformation and breathing animations.
Scope
dev/experiments/c4.organic-shapes/
Key Changes
- Shape class hierarchy:
BaseShape→CircleShape,SquareShape,HexagonShape,BlobShape,SquircleShape - Each shape owns its draw logic, parameters, and animation behavior
- Blob shape: simplex noise-deformed circle vertices with Catmull-Rom-to-bezier curves
- Squircle shape: parametric superellipse with adjustable exponent (2=circle through 10=near-square)
- Breathing animation: continuous noise3D-driven vertex morphing via app.ticker
- Full organic parameter control panel
- Blink/breathing conflict resolution via
_blinkingflag
Outcome
Shape class hierarchy working — all five shapes render and switch live. Blob breathing animation runs on app.ticker with throttling and blink conflict resolution. Squircle exponent slider smoothly morphs between circle and near-square. All organic parameters update without scene rebuild. Integrated with existing layouts and decoration system.
Visual record
10 captures — heroes, page slices, and full-page renders. Click to view.









