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
  }
};