Cool effect build review and files changed

Catch up on the very cool effect we built in https://ampcode.com/threads/T-02e2922e-f149-4d8a-b2c1-bb2ef7e0b720 and how we did and which files we touched.

That thread built a shimmering illumination effect for the "Welcome to Amp" splash screen text that makes the text glow in sync with the animated orb behind it.

Key files touched:

How it works: The SplashScreen owns the animation time (t) and an OrbGlow instance. Both AnimatedOrb and IlluminatedText receive these, so each character samples the orb's glow at offset positions, creating a ripple/shimmer effect with distance-based falloff.

Okay... Now the animated orb allows you to *click* on it and that causes additional ripples. Can we make the ripples also go over to the text?

All tests pass. Here's a summary of the changes:

What I did:

  1. animated-orb.ts - Exported Shockwave interface and constants, added shockwaves and onShockwave props so the parent can manage shockwaves externally

  2. illuminated-text.ts - Added shockwaves prop and shockwave sampling logic in paint() that calculates each character's distance from the expanding wave front and boosts its glow accordingly

  3. splash-screen.ts - Lifted shockwave state up, passes shockwaves to both AnimatedOrb and IlluminatedText, handles cleanup in the animation loop

Now when you click on the orb, the ripples will propagate outward and wash over the "Welcome to Amp" text, making each character light up as the wave passes through it.

The delay between click and when the first ripple in the text shows up should be a bit smaller
Edited illuminated-text.ts

Changed the text's perceived X position from orbWidth + 2 to orbWidth * 0.7, so the wave "sees" the text as being closer to the orb's edge, making ripples arrive faster.