Skip to content

fix(site): use the animated mascot logo in the hero - #65

Merged
elkaix merged 1 commit into
mainfrom
fix/site-hero-mascot-logo
Aug 12, 2026
Merged

fix(site): use the animated mascot logo in the hero#65
elkaix merged 1 commit into
mainfrom
fix/site-hero-mascot-logo

Conversation

@elkaix

@elkaix elkaix commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Related Issue

No issue. The problem is described below.

Problem

The landing page hero rendered /pythinker-hero-clean-v2.mp4 inside a play/pause <button>. That asset is no longer present in apps/site/public, so pnpm -C apps/site run build fails outright on main:

[vite]: Rollup failed to resolve import "/pythinker-hero-clean-v2.mp4" from ".../apps/site/src/App.vue"

What changed

  • The hero now renders the existing PythinkerMascot component instead of the video. It inlines the same artwork as public/pythinker_animated.svg — 34 identical <path> elements and the same four animations (blink, mouthTalk, antennaGlow, eyeShine) — and already ships a scoped prefers-reduced-motion guard, so no extra request and no new motion handling.
  • Removed the now-dead video machinery: heroVideo / heroVideoPlaying refs, playHeroVideo, syncHeroMotionPreference, toggleHeroVideo, their matchMedia listeners, and the .hero-mascot-video rules (radial mask + mix-blend-mode: multiply). reducedMotionQuery stays — the reveal-on-scroll observer still uses it.
  • .hero-mascot sizes the logo at clamp(128px, 12vw, 164px), centered. The hero block is roughly 55px taller than the old 4:3 video, so content below shifts down slightly.
  • Deleted four assets nothing references: pythinker-hero-clean-v2.mp4, arctecture.webp, logo.png, brand/linux.svg.

Deliberately kept, because they are addressed by URL or convention rather than by an import: _headers (Cloudflare Pages), bimi-logo.svg (DNS BIMI record), code/oauth-success.html (OAuth redirect landing page), and icon-192.png / icon-512.png.

Verified: pnpm -C apps/site run build now succeeds, and pnpm exec oxlint --type-aware apps/site/src/App.vue is clean.

Checklist

  • I have read the CONTRIBUTING document.
  • I have linked a related issue, or explained the problem above.
  • I have added tests that prove my feature works. — apps/site has no test suite; the site build is the gate, and it goes from failing to passing with this change.
  • Ran gen-changesets skill, or this PR needs no changeset. [skip changeset] — the only published package is @pythoughts/pythinker-code, and @pythoughts/site is a private marketing site that does not enter the CLI bundle, so nothing here reaches a release artifact. No site-only change in this repo has ever carried a changeset.
  • Ran gen-docs skill, or this PR needs no doc update.

Summary by CodeRabbit

  • Bug Fixes
    • Replaced the hero mascot video with a static mascot illustration.
    • Removed video playback controls and related motion behavior.
    • Preserved terminal demo functionality and reduced-motion support.
    • Updated responsive styling for the mascot display.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 7f522e43-a004-4403-ab15-bcb0d11c7a8d

📥 Commits

Reviewing files that changed from the base of the PR and between 8f11dd8 and 6db5769.

⛔ Files ignored due to path filters (4)
  • apps/site/public/arctecture.webp is excluded by !**/*.webp
  • apps/site/public/brand/linux.svg is excluded by !**/*.svg
  • apps/site/public/logo.png is excluded by !**/*.png, !**/*.png
  • apps/site/public/pythinker-hero-clean-v2.mp4 is excluded by !**/*.mp4
📒 Files selected for processing (1)
  • apps/site/src/App.vue

📝 Walkthrough

Walkthrough

The hero video and playback controls were removed from App.vue. The page now renders a static PythinkerMascot component with responsive sizing. Terminal demo initialization and reduced-motion handling remain active.

Changes

Hero mascot migration

Layer / File(s) Summary
Remove hero video lifecycle
apps/site/src/App.vue
Removed hero video state, motion synchronization, and related listener cleanup.
Render responsive static mascot
apps/site/src/App.vue
Replaced the interactive video button with PythinkerMascot and added responsive static mascot styling.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses a valid conventional-commit prefix, imperative wording, and is 51 characters long.
Description check ✅ Passed The description includes all required sections, explains the problem and changes, and completes the checklist with verification details.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

pkg-pr-new Bot commented Aug 12, 2026

Copy link
Copy Markdown
pnpm dlx https://pkg.pr.new/@pythoughts/pythinker-code@7f8bf92
npx https://pkg.pr.new/@pythoughts/pythinker-code@7f8bf92

commit: 7f8bf92

The hero played /pythinker-hero-clean-v2.mp4 through a play/pause button. That
asset is gone from apps/site/public, so the site build failed outright:
Rollup could not resolve the import.

Render the existing PythinkerMascot component instead. It inlines the same
artwork as public/pythinker_animated.svg (34 identical paths, the same blink,
mouth, antenna-glow and eye-shine animations) and already carries its own
scoped prefers-reduced-motion guard, so the video refs, the play/pause
handlers and the mask/blend CSS all go away.

Also drop four assets nothing references: the mp4, arctecture.webp, logo.png
and brand/linux.svg.
@elkaix
elkaix force-pushed the fix/site-hero-mascot-logo branch from 6db5769 to 7f8bf92 Compare August 12, 2026 09:54
@elkaix
elkaix merged commit f4bd3d1 into main Aug 12, 2026
11 checks passed
@elkaix
elkaix deleted the fix/site-hero-mascot-logo branch August 12, 2026 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant