The dandelion puff is DandyLine's central visual metaphor — a bloom of memory, patient and beautiful. This page documents the anatomy, depth system, rendering tiers, animation physics, and the emotional language behind every design decision.
depth = 0.15 + 0.85 × fract(i × φ) where φ is the golden ratio — this distributes front and back seeds evenly around the full circle so no angular cluster forms. The painter's algorithm (back-to-front draw order) creates the 3D sphere illusion.| Property | Back (depth 0.0) | Front (depth 1.0) | Formula |
|---|---|---|---|
| Opacity | 20% | 88% | lerp(0.20, 0.88, depth) |
| Stem stroke | 0.5px | 1.6px | lerp(0.5, 1.6, depth) |
| Stem length | 62% R | 88% R | R × (0.62 + depth × 0.26) |
| Seed orb radius | 1.0% R | 3.6% R × 1.2 | R × lerp(0.012, 0.036, depth) × 1.2 |
| Filament spread | 22° | 30° | (22 + depth × 8)° |
| Shadow blur | none | R × 0.05 | applied if depth > 0.5 |
| Inner radius | 14% R | 14% R | fixed (R × 0.14) — all stems share same origin |
if (R > 16) to render filaments.| System | Description | Formula / Values |
|---|---|---|
| Per-seed Sway | Each seed oscillates around its base angle independently. Sway amount is 1.8°–4.6° (random per seed). Each seed has its own phase offset and speed — so they never move in sync. Creates organic, alive motion. | angle = baseAngle + swayAmt × sin(t × swaySpeed + swayPhase) |
| Jellyfish Float | The entire mark drifts as one unit — horizontal drift ±2px and vertical drift ±9px — using two overlapping sine waves at different frequencies. This is the "breathing" quality described in the brand ethos. Pace is slow enough that it feels like breathing, not vibration. | fx = 2 × sin(t × 0.28) / fy = 9 × sin(t × 0.42) |
| Particle Release | Every 1.8 seconds, there's a 65% chance a front-facing seed (depth > 0.5) releases a mini seed particle. Each particle has its own drift velocity, life decay, and sinusoidal wobble. Maximum 8 particles live at once. Particles fade out over ~3–4 seconds. | spawn: 1800ms interval × 0.65 prob / decay: 0.004–0.009/frame |
| Orb Pulse | The center orb radius pulses gently at 1.1 Hz — expanding and contracting between 88% and 112% of its base size. The glow halo pulses in sync. Creates the impression of a heartbeat. | pulse = 0.88 + 0.12 × sin(t × 1.1) |
| Main Stem | A single vertical stem below the orb represents the dandelion plant body. It sways gently with its own independent bézier curve control point, slightly out of phase from the body float. | Quadratic bézier: origin → (t × 0.4 + 1.2) offset CP → base |
| Don't | Why |
|---|---|
| Use the animated mark in emails or PDFs | Canvas doesn't render in static formats. Use the static full-color mark at 96px+ instead. |
| Speed up the sway or float animation | Faster motion loses the "breathing" quality and starts to feel nervous or urgent — opposite of the brand. |
| Use below 16px | At 14px and below, the orb and stems blur together. Minimum is 16px. At 16px use Micro tier only. |
| Recolor the mark for seasonal themes | The color treatments page (Logo & Marks) defines the 5 approved treatments. Outside those, the mark is always gold/cream on dark or gold-dk/navy on light. |
| Stretch or distort the mark's aspect ratio | The mark canvas is always 1:1 (square). Stretching breaks the sphere illusion immediately since depth depends on angular position in a circle. |