feat(pixel): 8-Bit-Handwerker laeuft einmal pro Minute durch die Seitenleiste
Im Theme "Pixel Art" laeuft eine kleine Figur ueber die Steinmauer der Seitenleiste, macht einen Huepfer und verschwindet wieder nach links. Auftritt alle 60 Sekunden, der erste nach 6 Sekunden. Die Figur ist eine eigene Zeichnung - gruene Muetze, Schutzbrille, Latzhose - und steht als Pixelraster 14 x 16 direkt im Code, ohne Bilddatei. Bewusst kein Sprite aus einem kommerziellen Spiel: solche Figuren und Grafiken sind geschuetzt und gehoeren nicht in eine produktiv genutzte Anwendung. Technik wie bei den Wetter-Ebenen: ein Canvas genau ueber der Seitenleiste, ohne Klickfang, unter den Dialogen, per ResizeObserver an die ein- und ausklappbare Breite gebunden. Zwischen zwei Auftritten laeuft ein Timer statt eines Animationsframes. Bei "Bewegung reduzieren" und unterhalb der Tabletbreite bleibt alles aus. Rueckbau: diesen Commit reverten, oder die Datei loeschen und die eine Zeile in lib/theme.tsx entfernen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
3b818bd1c6
commit
d9d46fea6a
@@ -13,6 +13,7 @@ import { THEME_PALETTES, type ThemePalette } from '../types';
|
||||
import { RainyWeather } from '../components/layout/RainyWeather';
|
||||
import { SnowWeather } from '../components/layout/SnowWeather';
|
||||
import { AuraSky } from '../components/layout/AuraSky';
|
||||
import { PixelRunner } from '../components/layout/PixelRunner';
|
||||
|
||||
/*
|
||||
* Darstellung der Oberflaeche. Sie hat zwei unabhaengige Achsen:
|
||||
@@ -231,6 +232,7 @@ export const ThemeProvider: React.FC<{ children: React.ReactNode }> = ({ childre
|
||||
{palette === 'rainy' && <RainyWeather />}
|
||||
{palette === 'snow' && <SnowWeather />}
|
||||
{palette === 'aura' && <AuraSky />}
|
||||
{palette === 'pixel' && <PixelRunner />}
|
||||
</ThemeContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user