← Cycles
Qflow · c4

Organic Shapes

archivedcreated 2026-02-19· last activity 2026-08-15

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 _blinking flag

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.

Default noise blobs at 12 segments
Default noise blobs at 12 segments
Breathing on — blobs slowly morphing
Breathing on — blobs slowly morphing
4-segment blobs — coarse, angular organics
4-segment blobs — coarse, angular organics
24 segments, noise amount cranked to 0.5
24 segments, noise amount cranked to 0.5
Squircles at exponent 2 — nearly circles
Squircles at exponent 2 — nearly circles
Squircles at exponent 10 — nearly squares
Squircles at exponent 10 — nearly squares
Plain circles for comparison
Plain circles for comparison
Plain squares for comparison
Plain squares for comparison
Blobs with isometric pulse lines
Blobs with isometric pulse lines
c4 hero

Artifacts

/experiments/c4.organic-shapes/ (local dev)

Qpoint Brand Style Guide