Framer Motion
Framer Motion shows up on the marketing site hero, not in the desktop player control dock.
Landing hero title is a React island (HeroAnimatedTitle.tsx) that wraps shared AnimatedText. On mount, motion variants fade the headline in and draw an SVG underline path. Hover morphs the path to a second Bezier for a hand-drawn wiggle.
The desktop app lists motion/react (and legacy framer-motion in places) for mini player visualizer morphs and some AnimatePresence transitions in App.tsx tab swaps. Site and app pin different motion packages; each package.json owns its version.
Simple hovers (buttons, cards, mega-menu links) stay CSS transitions in global.css. Motion is reserved for sequenced hero text where coordinating opacity + path length in CSS would be annoying to maintain.
In the repo
Where it shows up
-
website/src/components/HeroAnimatedTitle.tsx -
website/src/components/ui/animated-underline-text-one.tsx -
MiniPlayer.tsxcompact visualizer morph paths (app bundle) -
App.tsxAnimatePresencetab transitions (motion/react)