ReactとNext.js向けのページトランジションライブラリ。WebGLで描画した光のバンドが画面を横切るあいだに、裏でルートを差し替える。
ランタイム依存ゼロで10KB未満。GPU合成なので通常時のパフォーマンスに影響しない。初回スイープまでWebGLコンテキストを生成しない遅延初期化を採用しているため、未使用時のコストもない。ピア依存はReact 18+とNext.js 13+。
トリガーは3通り用意されている。
TransitionLink — 遷移先が事前にわかるリンク向け
useTransitionRouter() — フォーム送信後のリダイレクトなど、命令的なナビゲーション向け
InterceptLinks — 内部リンク全体に自動適用。既存コードを書き換えなくていい
カスタマイズはパレット(prism / berry / lagoon / citrus / azure / ember の6プリセット、またはコサイン勾配で自作)、方向、スイープ時間(既定800ms)、イージング、バンドの太さで調整する。
npm install glimm で導入できる。Next.jsアプリのページ遷移に視覚的な演出を加えたいが、JSバンドルを膨らませたくないときに置きやすい選択肢。