From b32c044346bdf2f1d58e0621ff8ec3d9df0c3b47 Mon Sep 17 00:00:00 2001 From: Alejandro Date: Sun, 30 Aug 2026 23:28:22 -0400 Subject: [PATCH 1/2] feat: animated logo v1 --- components/AsciiHero.tsx | 60 +++++++++++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/components/AsciiHero.tsx b/components/AsciiHero.tsx index c39f5d6..c8874d1 100644 --- a/components/AsciiHero.tsx +++ b/components/AsciiHero.tsx @@ -1,16 +1,62 @@ +"use client"; + import Image from "next/image"; +import { motion } from "motion/react"; import gpkTriangleLogo from "@/public/gpk_logo_new.webp"; export default function AsciiHero() { return (
- Graphics Programming Knights logo + {/* ── Entrance "swish" ────────────────────────────────────────────── + Starts at scale 0, springs past full size, settles back down. + Lower `damping` relative to `stiffness` = bigger overshoot/bounce; + raise `damping` for a softer landing. `mass` slows the whole thing + down if you want the swish to feel heavier. */} + + Graphics Programming Knights logo + + {/* ── Shine sweep ───────────────────────────────────────────────── + A soft white band that slides diagonally across the logo. It's + masked to the logo image's own alpha channel, so the glow only + ever lands on the logo's pixels rather than a rectangle around + it. To fire it on hover instead of automatically, delete + `animate`/`transition` here and drive it with `whileHover` on + the wrapping motion.div above instead. */} +
); } From 8daf7c2475db4c403bf9e69fd79ebfa236f0cd6b Mon Sep 17 00:00:00 2001 From: Alejandro Date: Mon, 31 Aug 2026 16:29:58 -0400 Subject: [PATCH 2/2] feat: animated logo v2 better size --- components/AsciiHero.tsx | 14 +------------- components/HeroSection.tsx | 4 ++-- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/components/AsciiHero.tsx b/components/AsciiHero.tsx index c8874d1..c3b7c29 100644 --- a/components/AsciiHero.tsx +++ b/components/AsciiHero.tsx @@ -6,12 +6,7 @@ import gpkTriangleLogo from "@/public/gpk_logo_new.webp"; export default function AsciiHero() { return ( -
- {/* ── Entrance "swish" ────────────────────────────────────────────── - Starts at scale 0, springs past full size, settles back down. - Lower `damping` relative to `stiffness` = bigger overshoot/bounce; - raise `damping` for a softer landing. `mass` slows the whole thing - down if you want the swish to feel heavier. */} +
- {/* ── Shine sweep ───────────────────────────────────────────────── - A soft white band that slides diagonally across the logo. It's - masked to the logo image's own alpha channel, so the glow only - ever lands on the logo's pixels rather than a rectangle around - it. To fire it on hover instead of automatically, delete - `animate`/`transition` here and drive it with `whileHover` on - the wrapping motion.div above instead. */}