File size: 4,866 Bytes
07e9fc3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | /**
* «РЫБКА» — КОНФИГУРАЦИЯ ДЛЯ HUGGING FACE
*/
window.EXPERIENCE_CONFIG = {
// 1. НАЗВАНИЕ СТРАНИЦЫ И НАЧАЛЬНЫЙ ЭКРАН
page: {
title: 'Рыбка — С Днём рождения!',
description: 'Песня и личное письмо ко дню рождения.'
},
welcome: {
title: 'Рыбка',
subtitle: 'С Днём рождения!',
listenButtonText: 'Слушать',
letterButtonText: 'Открыть письмо'
},
// 2. ИГРИВАЯ РЕАКЦИЯ НА «ОТКРЫТЬ ПИСЬМО»
letterPrompt: {
lines: [
'Ай-яй-яй... Нет, нет, нет, милая :)',
'Сперва послушай то, что я написал для тебя.',
'Здесь вся моя душа...'
],
listenButtonText: 'Тогда давай послушаем',
skipButtonText: 'и всё же сразу к письму →'
},
// 3. ЛИЧНОЕ ПИСЬМО
letter: {
heading: 'С днём рождения, моя рыбка',
paragraphs: [
'Для меня нет никого дороже и важнее тебя. Ты единственная, в ком я уверен на все сто, и ты стоишь больше, чем весь этот мир.',
'Я тебя люблю. Хочу быть рядом, поддерживать тебя во всём и делать всё, чтобы твоя жизнь была спокойной, надёжной и счастливой. Что бы ни происходило ты всегда можешь на меня опереться.'
],
signature: 'С любовью, навсегда.',
telegramButtonText: 'Забрать песню себе в Telegram',
// Если хочешь кнопку на свой Telegram — вставь ссылку вида 'https://t.me/твой_логин'
// Если оставить пустую строку '' — кнопки просто не будет.
telegramUrl: 'https://t.me/Enter_yes',
sealedTag: 'ПЕРСОНАЛЬНОЕ ПОСЛАНИЕ',
openedTag: 'ПИСЬМО РАСПЕЧАТАНО',
unsealButtonText: 'Распечатать'
},
// 4. МУЗЫКА И ОБЛОЖКИ (ПУТИ К ФАЙЛАМ В КОРНЕ)
audio: {
src: 'song.mp3',
expectedDuration: 137.68,
title: 'Рыбка',
subtitle: 'С Днём рождения!',
initialVolume: 0.85
},
cover: {
webpSrc: 'cover.webp',
pngSrc: 'cover.png',
alt: 'Оригинальная обложка трека: бирюзовая рыбка в ладонях'
},
// 5. ТАЙМЛАЙН СТРОК И ЭФФЕКТОВ
timeline: {
introText: {
start: 4.0, end: 12.5,
text: 'Для тебя...'
},
verseLine1: {
start: 16.0, end: 22.8,
text: 'Этот уставший город уже засыпает...'
},
verseLine2: {
start: 23.3, end: 30.5,
text: '...и в них я вижу дом, в который я могу вернуться.'
},
coverReveal: { start: 31.0, duration: 3.5 },
swimText: {
start: 31.0, end: 40.0,
text: 'Плыви в моей ладони...'
},
harborText: {
start: 40.5, end: 58.0,
text: 'В этой тихой гавани есть только мы с тобой.'
},
calmPhase: {
start: 65.0, end: 92.0,
text: 'М-м-м... (тишина и покой)'
},
climaxText: {
start: 92.0, end: 104.5,
text: 'В мутном потоке чужих и ненужных дней я нашел то единственное, за что держусь...'
},
waterRipple: { time: 103.0, duration: 3.8 },
dropPhase: {
start: 106.0, end: 130.0,
text: '[Инструментальный дроп ♫]'
},
coverFadeOut: { start: 130.5, duration: 2.8 },
whisperText: {
start: 131.5, end: 137.2,
text: 'Я всегда рядом.',
lyricsText: 'Спи, моя рыбка. Я рядом. Теперь я всегда рядом.'
},
letterDelayAfterAudio: 2.2
},
// 6. АВТО-СМЕНА АТМОСФЕР
atmosphereTimeline: [
{ start: 0.0, mood: 'night', label: 'Ночь' },
{ start: 40.5, mood: 'abyss', label: 'Бездна' },
{ start: 92.0, mood: 'warm', label: 'Тепло' }
],
visuals: {
autoAtmosphere: true,
defaultAtmosphere: 'night',
rain: {
count: 95,
speedMultiplier: 1.0,
windAngle: 0.12
},
glassDroplets: {
count: 14,
speed: 0.35
},
glow: { blurRadius: 55, intensity: 0.9 },
breathing: { minScale: 1.000, maxScale: 1.018, speed: 0.8 },
beatPulse: { maxScaleAddition: 0.024 },
parallaxStrength: 15
}
}; |