Skip to content

feat(theme): minecraft assets scattered around + Ender Dragon fly-across#297

Merged
adibarra merged 4 commits intomasterfrom
feat/minecraft-decorations
May 4, 2026
Merged

feat(theme): minecraft assets scattered around + Ender Dragon fly-across#297
adibarra merged 4 commits intomasterfrom
feat/minecraft-decorations

Conversation

@functionstackx
Copy link
Copy Markdown
Contributor

Summary

Adds a MinecraftDecorations client component that renders six iconic Minecraft assets at fixed corner positions when the minecraft theme is active, plus a one-shot Ender Dragon GIF that flies right-to-left across the viewport every time the theme is activated. Mirrors the RickMortyDecorations pattern shipped for PR #295 (theme-class observer, low-z overlay, hidden below lg).

Cast

Slot Asset Source
top-left Creeper minecraft.wiki / Creeper_JE3_BE1
top-right Diamond pickaxe (rotated 35°) minecraft.wiki / Invicon_Diamond_Pickaxe
mid-right Technoblade body render mc-heads.net (in memory of Technoblade — pig-king skin)
bottom-left Grass block minecraft.wiki / Invicon_Grass_Block
bottom-mid TNT minecraft.wiki / Invicon_TNT
bottom-right Diamond minecraft.wiki / Invicon_Diamond
top stripe Ender Dragon GIF (one-shot fly-across) minecraft.wiki / Ender_Dragon.gif

All static images are pointer-events: none at z-0 with image-rendering: pixelated so the sprites stay crisp at scale.

Dragon animation

  • mc-dragon-flyacross keyframe in globals.css next to the existing splash-bounce — translates the dragon from +110vw to -130vw over 9s with a gentle vertical drift, fading in/out at the edges.
  • Animation plays once (iteration-count: 1); the dragon's <img> is keyed on a dragonNonce that bumps on every off→on theme transition, so toggling minecraft on, off, then back on replays the entrance.
  • Respects prefers-reduced-motion: reduce — animation is disabled and the dragon is hidden.
  • The image is the canonical Ender_Dragon.gif from the wiki (~1.4 MB, 400×408), so the wing-flap plays during the traversal and the entrance feels alive.

Test plan

  • Switch to the minecraft theme — six static cutouts appear at the corners and a dragon flies right→left across the top once.
  • Switch off, then back to minecraft — dragon fly-across re-plays.
  • Switch to light/dark/rick-morty — all decorations + dragon disappear.
  • Resize down to a phone viewport (<lg) — static cutouts hide; dragon still plays since it only depends on md.
  • OS-level "reduce motion" enabled — dragon is hidden entirely while static cutouts still render.
  • Charts behind the decorations remain hover/clickable (decorations have pointer-events: none).

🤖 Generated with Claude Code

…necraft theme

Adds a `MinecraftDecorations` client component that renders six iconic
Minecraft assets at fixed corner positions when the minecraft theme is
active, plus a one-shot Ender Dragon GIF that flies right-to-left across
the viewport every time the theme is activated:

  - top-left:    Creeper mob render
  - top-right:   Diamond pickaxe (rotated 35°, mining vibe)
  - mid-right:   Technoblade body render (RIP — pig-king skin)
  - bottom-left: Grass block
  - bottom-mid:  TNT
  - bottom-right: Diamond
  - top stripe:  Ender Dragon, fly-across once per activation

Mirrors the `RickMortyDecorations` pattern from PR #295: a
MutationObserver on `document.documentElement` toggles the cast live
with the mode picker, all images are `pointer-events: none` at z-0, and
the static cutouts are hidden below `lg` so narrow chart layouts stay
clean.

The dragon uses a `dragonNonce` React key so its `<img>` remounts on
every off→on theme transition, restarting the CSS animation. Keyframe
`mc-dragon-flyacross` lives in globals.css next to the existing
splash-bounce animation, takes ~9s, and respects
`prefers-reduced-motion: reduce`.

Asset provenance: minecraft.wiki (CC BY-NC-SA 3.0) for blocks/items
and the Ender Dragon GIF; mc-heads.net body render for the Technoblade
skin (decorative use).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment May 4, 2026 5:22am

Request Review

Removes the mid-right Technoblade body render and its asset. Six
remaining decorations (creeper, diamond pickaxe, grass block, TNT,
diamond, dragon) keep the spread of the cast unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the top-left creeper with a Zombified Piglin sprite from the
Minecraft Wiki. The canonical render faces left (sword arm out the
viewer's left), which on a top-left anchor would point AWAY from the
chart. Mirror it with `scaleX(-1)` so the sword-arm faces toward the
middle of the viewport, where the user's attention actually is.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
functionstackx added a commit that referenced this pull request May 4, 2026
…ro song

Adds a fourth theme alongside light / dark / minecraft, cycling in the
header toggle as light → dark → minecraft → rick-morty. Builds on top
of the minecraft theme's pattern (theme-class observer, lazy-loaded
audio iframe, music toggle in the header).

Visuals
- Color tokens anchored on the canonical Rick and Morty palette: portal
  green primary, Morty yellow secondary, Rick lab-coat blue accent,
  deep-space dark background, pale yellow-green foreground. 8-slot
  overlay-run palette is character-coded (portal, Morty, Rick, Summer,
  schwifty, Jerry, Beth, Birdperson).
- All existing dark-equivalence checks (vendor colors, architecture
  diagrams, watermark export) treat rick-morty as a dark theme so the
  site stays cohesive when switching.
- circuit background is kept (unlike minecraft, which hides it) but
  hue-rotated toward portal green so it sits coherently on the deep-
  space dark surface.
- Five static character cutouts scattered around the viewport corners
  (Rick smile, Pickle Rick, Rick & Morty Inc, dance, portal). pickle-
  rick.png was alpha-cut locally — its source had a baked-in
  checkerboard rendered in pixels, which flood-fill from the borders
  fixed.
- One-shot Jerry top→bottom fall GIF on each theme activation. Mirrors
  the Ender Dragon fly-across in PR #297 but oriented vertically; keyed
  on a nonce so off→on transitions replay the animation. Respects
  prefers-reduced-motion.

Audio
- Streams Adult Swim's official "Seasons 1-3 Opening Credits" upload
  (DLaqu2QJYPY) via an invisible 1×1 YT iframe, looped at volume 35.
  Mirrors minecraft-background.tsx exactly: autoplay nudge on first
  user gesture, sessionStorage position save so playback survives
  in-app navigations, retry interval when the user has already
  interacted with the page.
- Header music toggle (lucide Music icon, crossed out when muted) only
  appears in the rick-morty theme. localStorage `rick-morty-music`
  defaults on. PostHog event `rick_morty_music_toggled`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@adibarra adibarra merged commit 258f7aa into master May 4, 2026
11 checks passed
@adibarra adibarra deleted the feat/minecraft-decorations branch May 4, 2026 05:28
lalithsagar10 pushed a commit to lalithsagar10/InferenceX-app that referenced this pull request May 5, 2026
…oss (SemiAnalysisAI#297)

* feat(theme): scatter Minecraft assets + Ender Dragon fly-across on minecraft theme

Adds a `MinecraftDecorations` client component that renders six iconic
Minecraft assets at fixed corner positions when the minecraft theme is
active, plus a one-shot Ender Dragon GIF that flies right-to-left across
the viewport every time the theme is activated:

  - top-left:    Creeper mob render
  - top-right:   Diamond pickaxe (rotated 35°, mining vibe)
  - mid-right:   Technoblade body render (RIP — pig-king skin)
  - bottom-left: Grass block
  - bottom-mid:  TNT
  - bottom-right: Diamond
  - top stripe:  Ender Dragon, fly-across once per activation

Mirrors the `RickMortyDecorations` pattern from PR SemiAnalysisAI#295: a
MutationObserver on `document.documentElement` toggles the cast live
with the mode picker, all images are `pointer-events: none` at z-0, and
the static cutouts are hidden below `lg` so narrow chart layouts stay
clean.

The dragon uses a `dragonNonce` React key so its `<img>` remounts on
every off→on theme transition, restarting the CSS animation. Keyframe
`mc-dragon-flyacross` lives in globals.css next to the existing
splash-bounce animation, takes ~9s, and respects
`prefers-reduced-motion: reduce`.

Asset provenance: minecraft.wiki (CC BY-NC-SA 3.0) for blocks/items
and the Ender Dragon GIF; mc-heads.net body render for the Technoblade
skin (decorative use).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(theme): drop Technoblade cutout from minecraft decorations

Removes the mid-right Technoblade body render and its asset. Six
remaining decorations (creeper, diamond pickaxe, grass block, TNT,
diamond, dragon) keep the spread of the cast unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(theme): swap creeper for zombified piglin facing inward

Replace the top-left creeper with a Zombified Piglin sprite from the
Minecraft Wiki. The canonical render faces left (sword arm out the
viewer's left), which on a top-left anchor would point AWAY from the
chart. Mirror it with `scaleX(-1)` so the sword-arm faces toward the
middle of the viewport, where the user's attention actually is.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(theme): add CC BY-NC-SA 3.0 attribution for minecraft assets

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: adibarra <93070681+adibarra@users.noreply.github.com>
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.

2 participants