gsap-tanstack-router
GSAP TanStack Router
mount → initial state → intro → settled → outro → end state → unmount
Mount and unmount belong to React; animation owns the five phases between them. TanStack Router preserves shared layouts and can reuse routes on parameter changes; pending UI and loaders also affect when the new page appears.
Keep the requested look and existing project conventions. Add GSAP/plugins only as needed; do not replace the chosen animation library unless asked.
This skill decides when motion runs. For what moves, and for a feel such as premium or playful, also load the animaxxing skill when it is installed: its recipes and its guide to finding the vibe plug into this lifecycle.
Start with the project
Read repository instructions, existing animation, layouts, navigation, CSS, accessibility conventions, and checks. Then:
- Confirm
@tanstack/react-router. Next.js belongs togsap-nextjs, React Router togsap-react-router, React without a router togsap-react. Solid Router is out of scope. - Read the installed
@tanstack/react-routerversion and, when present,@tanstack/react-start. Prefer their bundled types over memory:node_modules/@tanstack/router-core/dist/esm/router.d.tsforRouterOptions,RouterState, andRouterEvents,node_modules/@tanstack/react-router/dist/esm/useBlocker.d.tsfor the blocker,node_modules/@tanstack/history/dist/esm/index.d.tsfor history actions. The TanStack/router repository'sdocs/router/anddocs/start/are the source of truth. The loading architecture changed during the 1.16x and 1.17x releases;RouterState.isTransitioningis gone from router-core 1.171.2x, anduseBlockeris still marked experimental. - Tell file-based routes (
createFileRoute,routeTree.gen.ts,__root.tsx) from code-based routes (createRoute,createRootRoute). The lifecycle is the same; only where route options live differs. - Tell TanStack Start (SSR, a root document shell with
HeadContentandScripts) from a client-only Vite app (RouterProviderrendered into a div). Client-only apps paint nothing before React, so they need no pre-paint rule. Checkssrper route,defaultSsr,spa.enabled, and prerendering. - Read the router options:
defaultPreload,defaultPendingComponent,defaultPendingMs,defaultPendingMinMs,defaultViewTransition,scrollRestoration,defaultStaleTime,defaultRemountDeps. Each changes when pages mount and what the user sees while they load.