A1: манифест-пайплайн aiaudio; свои лупы рощи/разъезда, ветер с завыванием
- npm run aiaudio: gen/post/promote/list (раннер index.mjs, python из venv);
  генератор читает манифест вместо встроенного LIST
- манифест: промпты/сиды/duration/peak/gate — единственный источник истины;
  promote проверяет ключ на объявление в data/audio.ts и ставит gate=approved
- post.py: пер-позиционный peak (--peak) для тихих слоёв
- analyze.py: численный отбор кандидатов (огибающая/спектр) при делегированном
  апруве
- промотировано: роща (seed 2, вместо подстановки прудов), разъезд (seed 3),
  ветер (фидбек: завывание, периодическое затухание, тихий — peak 0.6, seed 3)
- ночью Звенца / дома / вода — оставлены процедурные (кандидаты hold)
- SFX остаются спек-синтезом (SFX_KEYS пуст, файлового пути нет)

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 57d7b5a commit 231b9607ca11709f65df2e6a1981f0d36bab3236
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 6 hours ago
Showing 13 changed files
View
apps/game/assets/audio/ambience/old_siding.wav 0 → 100644
Not supported
View
apps/game/assets/audio/ambience/rust_grove.wav 0 → 100644
Not supported
View
apps/game/assets/audio/ambience/wind.wav
Not supported
View
apps/game/src/data/audio.ts
View
apps/game/src/data/locations.ts
View
apps/game/tools/aiaudio/analyze.py 0 → 100644
View
apps/game/tools/aiaudio/gen_audioldm2.py
View
apps/game/tools/aiaudio/index.mjs 0 → 100644
View
apps/game/tools/aiaudio/manifest.json
View
apps/game/tools/aiaudio/post.py
View
docs/demo.md
View
docs/plan.md
View
package.json