Lay the party logo over the background
Centred, spanning 60% of the screen width, on the poster's layer so the video frame and the stills still pass in front of it. The file lives in assets/ with the posters, so it has to be kept out of the background rotation — it is the one image there that is never a background. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H9v2Xoa6eoeGYpK6gp95k9
This commit is contained in:
@@ -115,6 +115,15 @@ export const DEFAULT_ANIMATION = AUTO_ANIMATION;
|
||||
const ASSET_DIR = join(dirname(fileURLToPath(import.meta.url)), 'assets');
|
||||
const IMAGE_TYPES = new Set(['.jpg', '.jpeg', '.png', '.webp', '.avif']);
|
||||
|
||||
// The party's logo, laid over every background. Lives in assets/ with the
|
||||
// posters, so it has to be kept out of the rotation below — it is the one
|
||||
// image there that is never a background of its own.
|
||||
const LOGO_FILE = 'logo.png';
|
||||
export const LOGO_SRC = `/assets/${LOGO_FILE}`;
|
||||
|
||||
// How much of the screen's width the logo spans, centred.
|
||||
export const LOGO_WIDTH = 0.6;
|
||||
|
||||
function readBackgrounds() {
|
||||
let files;
|
||||
try {
|
||||
@@ -125,7 +134,7 @@ function readBackgrounds() {
|
||||
|
||||
return Object.fromEntries(
|
||||
files
|
||||
.filter((file) => IMAGE_TYPES.has(extname(file).toLowerCase()))
|
||||
.filter((file) => file !== LOGO_FILE && IMAGE_TYPES.has(extname(file).toLowerCase()))
|
||||
.sort()
|
||||
.map((file) => {
|
||||
const key = file.slice(0, -extname(file).length);
|
||||
|
||||
Reference in New Issue
Block a user