Files
home/Projects/docs.pivoine.art/BLOOM_UPDATE.md

6.2 KiB

🌸 Bloom Animation Update Complete!

The Pivoine Docs icon has been updated with a beautiful bud-to-bloom animation!

What Changed

Before

The icon was always in a fully bloomed state with subtle animations:

  • All petals visible at full size
  • Documents visible in center
  • Continuous pulsing and orbiting effects

After

The icon now starts as a closed bud and blooms on hover:

  • 🌱 Initial state: Compact closed bud (mysterious, inviting)
  • 🌸 Hover state: Beautiful sequential bloom animation
  • 🎯 Click state: Celebration with 3D rotation and effects

🎭 The Bloom Sequence

When you hover over the icon:

0.0s: Outer petals begin blooming outward
      ↓
0.1s: Middle petals join the bloom
      ↓
0.2s: Inner petals complete the flower
      ↓
0.3s: Center documents reveal
      ↓
0.4-0.8s: Text lines draw in one by one
      ↓
~1.0s: Full bloom - everything glowing!

Duration: ~1 second for complete bloom Easing: Cubic-bezier with bounce effect Performance: 60 FPS, GPU accelerated

🎨 Visual States

Closed Bud (Initial) 🌱

   Petals: 30-50% size, tucked inward
  Opacity: 50-70%
Sparkles: Dim (30% opacity)
Particles: Slow orbit (12s)
    Pages: Hidden
     Text: Hidden

Full Bloom (Hover) 🌸

   Petals: 100% size, fully open
  Opacity: 85-95%
Sparkles: Bright (100% opacity)
Particles: Fast orbit (8s)
    Pages: Visible, fanned out
     Text: All lines visible

🎯 Why This Change?

1. Better Storytelling

  • Closed bud represents undiscovered knowledge
  • Blooming represents learning and understanding
  • Full bloom represents complete access to documentation

2. More Engaging

  • Users are rewarded with a beautiful reveal
  • Creates curiosity - "What's inside?"
  • More memorable interaction

3. Natural Metaphor

  • Mimics real flower behavior
  • Organic, nature-inspired animation
  • Aligns with "Pivoine" (peony) branding

4. Better First Impression

  • Closed state is more elegant and refined
  • Bloom animation is delightful and surprising
  • Creates "wow" moment for visitors

📊 Technical Details

Animation Performance

  • GPU Accelerated: Uses transform and opacity only
  • 60 FPS: Smooth on modern devices
  • No Layout Reflow: Efficient rendering
  • Optimized: Minimal JavaScript, mostly CSS

Accessibility

  • Reduced Motion: Respects user preferences
  • Touch Optimized: Works great on mobile
  • Keyboard Accessible: Can be triggered with keyboard
  • Clear States: Easy to understand what's happening

Browser Support

Same as before - all modern browsers:

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+
  • Mobile browsers

🚀 Where to See It

1. Development Server

pnpm dev

Visit http://localhost:3000

2. Hero Section

The icon is prominently displayed at the top:

  • Large 200px size
  • Fully interactive
  • Hover to see it bloom!

3. Try It!

  • Hover slowly to watch the bloom sequence
  • Click for celebration effect with 3D rotation
  • Move away and it gently closes again
  • Mobile: Tap to see the bloom

📚 Documentation

Complete documentation available:

  1. BLOOM_ANIMATION.md

    • Detailed animation breakdown
    • Timing and sequence information
    • Customization options
    • Design philosophy
  2. components/README.md

    • Updated with new behavior
    • Props and usage examples
    • Animation states
  3. PIVOINE_DOCS_ICON.md

    • Complete technical documentation
    • All features and options

🎨 Usage Examples

Interactive Hero (Current)

<PivoineDocsIcon size="200px" />

Result: Closed bud that blooms on hover

Always Closed (Static)

<PivoineDocsIcon size="64px" interactive={false} />

Result: Stays as closed bud, no animation

With Label

<PivoineDocsIcon size="256px" showLabel={true} />

Result: Large bloom with "Pivoine Docs" label

⚙️ Customization

Want to adjust the bloom?

Change Bloom Speed

Edit transition duration in component:

/* Current: 0.6s */
transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);

/* Faster: 0.4s */
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);

/* Slower: 1.0s */
transition: all 1.0s cubic-bezier(0.34, 1.56, 0.64, 1);

Adjust Closed Size

Modify how closed the bud is:

/* More closed */
.outer-petal { transform: scale(0.2) translateY(-20px); }

/* Less closed */
.outer-petal { transform: scale(0.5) translateY(-10px); }

🎊 Impact

This update makes the icon:

  • More engaging - People want to interact
  • 🎯 More memorable - The bloom sticks with them
  • 🌸 More meaningful - Tells a story about discovery
  • 💫 More delightful - Satisfying reward for interaction
  • 🎨 More elegant - Refined, professional appearance

📝 Summary

What You Get

  • 🌱 Beautiful closed bud initial state
  • 🌸 Smooth sequential bloom animation (~1s)
  • 🎯 Enhanced user engagement
  • 💫 Memorable brand experience
  • Professional, polished interaction
  • Full accessibility support
  • 🚀 Excellent performance (60 FPS)

Backward Compatibility

  • Same component, same props
  • Same API, no breaking changes
  • Can disable with interactive={false}
  • Falls back gracefully for reduced motion

Files Updated

  • components/icons/PivoineDocsIcon.tsx - Core component
  • components/README.md - Updated docs
  • components/icons/BLOOM_ANIMATION.md - New detailed guide

🎉 Result

The icon now creates a magical moment when users discover it! The closed-to-open bloom animation:

  • Captures attention
  • Rewards interaction
  • Tells your brand story
  • Creates lasting impression

From a mysterious bud to a magnificent bloom - just like discovering great documentation! 🌱🌸


🚀 Next Steps

  1. Test it: pnpm dev and hover over the icon
  2. Enjoy it: Watch the beautiful bloom animation
  3. Share it: Show off your new interactive branding!

Updated with delight for Valknar | pivoine.art

Knowledge blooms with every interaction 🌸