| 2026-09-07 |
Фикс десинка вью героя (SpriteMotion не двигает blink-view) + звук: ветер, шорохи, тише вода
...
- Движок: SpriteMotion перезаписывает позицию/поворот только при bob/sway —
view с чистым blink/pulse можно двигать извне (герой прибивало к точке
спавна, ходьба выглядела камерным скроллом, по прибытии спрайт
«возвращался»); detach симметричен; тесты SpriteMotion
- PlayerController: syncView на точном прибытии в waypoint (кадр не отстаёт)
- Звук: ambience/wind — глобальный слой (AmbienceLayerDef.radius опционален,
нет at/tiles — константная громкость) на лугах и прудах; вода прудов
тише (0.6→0.35, радиус 6→5); sfx/rustle — редкие дальние шорохи пепла
из тика сцены (rng сцены, случайные pan/rate). Птиц в мире нет по лору
- Доки: anim.md (правило позиционирования), practices.md (глобальные
слои, шорохи, «птицы молчат»)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
| 2026-09-06 |
audio: палитра спеков (tone/wobble/sweep/layers) — все sfx на спек-синтезе (E4)
...
- SoundSpec: kind 'tone' (чистый тон + свип freqTo), параметры w/attack/
fadeTo/wobbleHz|Depth|Base|Phase, доп. голоса layers (SpecVoice с delay);
без модификаторов бит-в-бит прежним формулам
- data/sfxSpecs.ts: 16 спеков — все бывшие файловые sfx, включая шаги
(StepVariants: варианты renderSpec с сидами base+i·10, fallback — базовый
спек); ui_click во всех сценах через playSfx
- gen.mjs остался только амбиенту; assets/audio/sfx/ удалён; формулы
бывших sfx экспортированы для парити-теста (bit-в-бит / eps 1e-5)
- мост: scene:synthesize принимает kind tone; доки: agent.md,
assets-audio-save.md, practices.md, plan.md (E4 ✅)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
audio: миграция bell_hit/whoosh на спек-синтез (E3), мёртвый door.wav удалён
...
- SoundSpec: флаг swell (огибающая «0 → 1 → 0» у hit/scrape), у chime 4-й
партиал и константная амплитуда клика — формулы совпали с gen.mjs дословно
- data/sfxSpecs.ts: реестр SPEC_SFX + playSfx — единая точка проигрывания
sfx (AudioSystem, useTransition, collectFlower); ключи в AUDIO_KEYS
- gen.mjs: CLI-гвард (WAV при импорте не пишутся), формулы bellHit/whoosh
экспортированы для парити-теста sfxSpecs.test.ts (бит-в-бит равенство)
- доки: plan.md (E1–E3 ✅, F/G ✅), practices.md, assets-audio-save.md
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
13 hours ago
|
Игра: шаги по поверхностям, звуки предметов, локальные амбиент-слои
...
- Шаги: sfx/step_grass|ash|water|floor по тайлу под ногами (stepKey), старый sfx/step удалён
- Предметы: моты → mote_pickup, сундук → chest_open, знаки/записка → note, whoosh на переходах
- Фауна: событие fauna:startle (FaunaSystem слышит combat:attack) → sfx/deer_startle
- AudioSystem.setLayers: несколько амбиент-слоёв сразу, синхронный дедуп, тик-фейд громкости
- AreaDef.ambienceLayers: вода прудов, гул башни (точка), скрипы домов (тайлы)
- validate-тест покрывает новые ключи через AUDIO_KEYS
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|
Игра: амбиент на шину ambience вместо music, слайдер «Амбиент»
...
- gen.mjs: ключи ambience/meadows|ponds|zvenets -> assets/audio/ambience/ (music/ удалён)
- AUDIO_KEYS вынесен в data/audio.ts (валидатор в node-тестах без ?url-импортов Game)
- Game.playAmbience(key, 0.7) c guard ключа; '' — stopAmbience; шина ambience в settings
- AreaDef: визуальное ambience -> atmosphere, аудио ambience?: string (интерьеры — тишина)
- SettingsScene: Общая / Амбиент / Звуки (ползунок music не показываем — треков нет)
- validate-тест: area.ambience и Interactables.responses[].sound ∈ AUDIO_KEYS
- хвосты music/ в доках вычищены; agent:check зелёный
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
15 hours ago
|