Skip to content

feat: slime splatter animation on logo click#38

Merged
stevethomas merged 16 commits intomainfrom
feat/logo-slime-splatter
Feb 5, 2026
Merged

feat: slime splatter animation on logo click#38
stevethomas merged 16 commits intomainfrom
feat/logo-slime-splatter

Conversation

@vrodriguero
Copy link
Contributor

Summary

  • Adds a SlimeSplatter.vue component — a full-screen green slime overlay inspired by the Mario Kart Blooper ink effect
  • Clicking the Gooey logo in the sidebar header triggers the splatter animation
  • The slime drips down from the top with staggered drip animations and fades out after ~2.4 seconds
  • Uses SVG paths with CSS keyframe animations — no external dependencies

What it looks like

Green slime blobs and drips cascade over the entire viewport, then fade away. Think Blooper from Mario Kart, but on-brand green.

Test plan

  • Run npm run dev and click the Gooey logo in the sidebar
  • Verify the slime animation plays and fades out cleanly
  • Confirm the overlay doesn't block interaction (uses pointer-events: none)
  • Check the animation replays correctly on subsequent clicks
  • Test in both light and dark mode

🤖 Generated with Claude Code

vrodriguero and others added 14 commits February 5, 2026 14:38
Clicking the Gooey logo in the sidebar triggers a full-screen green
slime splatter overlay (inspired by Mario Kart Blooper ink). The
animation drips down from the top and fades out after ~2.4 seconds.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
…mation

- SVG gooey filter (feGaussianBlur + feColorMatrix) merges shapes into
  organic blobby forms
- Dark-to-light gradient on drips for depth
- 10 drips with varying widths, lengths, and staggered bouncy easing
- Wavy sludge edge along the top instead of a flat rectangle
- Splatter blob circles that pop in with overshoot
- Glossy sheen that slides across for that wet slime look
- Slower fade-out (1.2s) for a more satisfying exit

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replaces dripping slime with a two-phase animation:
1. Slime sprite plays in the center of the screen using the
   sprite-slime.png spritesheet (bounce, squish, jump, splat sequence)
2. Once the sprite finishes, green splatter blobs and droplets burst
   outward from the center in all directions with gooey SVG filter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Spritesheet was rearranged from 4x4 grid to a single horizontal strip.
Updated frame dimensions to 580.25x739 and simplified position calc
to horizontal-only offset. Frame sequence plays through the full
idle → squish → jump → land → splat cycle.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Sprite now positioned at bottom center of the viewport
- Replaced generic SVG blobs with the actual slime-splatter.svg asset
- 10 splatter instances scattered across the screen, each with
  different scale, rotation, and staggered pop-in delay
- Splatters use the pixel-art style matching the Gooey brand

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Splatters now all start at the center of the viewport and animate
outward to their final positions using CSS custom properties for
translate offsets. Previously they were positioned with top/left
percentages which pushed them off-screen.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Testing the second sprite variant — 4062x739, 7 frames. Tighter
animation sequence: idle → squish → jump → land → particles → spread → scatter.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Testing third sprite variant — 6383x739, 11 frames.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Splatters now fire at frame 4 (jump peak) instead of waiting for
the full sprite sequence to finish. Both the sprite and splatters
are visible simultaneously — sprite finishes its remaining frames
while splatters burst outward from center.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Only sprite-slime-3.png is used. Removing sprite-slime.png and
sprite-slime-2.png to avoid confusion.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@vrodriguero vrodriguero marked this pull request as ready for review February 5, 2026 05:36
vrodriguero and others added 2 commits February 5, 2026 15:43
Move click.prevent to the RouterLink instead of the Logo SVG so the
navigation event is actually intercepted. Previously the event on
the Logo didn't stop the parent RouterLink from navigating to home.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@stevethomas stevethomas merged commit e38b43a into main Feb 5, 2026
2 checks passed
@stevethomas stevethomas deleted the feat/logo-slime-splatter branch February 5, 2026 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants