Ревью-раунд: багфиксы движка и игры
Системный поиск ошибок (ревью движка + сверка с v1 + стресс рантайма).

Игра: тема лугов не останавливалась и наслаивалась (GameAudio держит хендл
лупа и кроссфейдит); «E» сквозь катсцену/фейд по протухшим целям; порядок
диалогов NPC как в v1 (незнакомый — всегда first); «E» — ближайшая цель с
приоритетом при ничьей (v1 pickInteract); радиус NPC 4.5; скорость героя
5.25 вокс/с (v1 1.75 юнита/с); колокольчик в сумку при сборе; ночной свет
колокольчиков следует за полем (живой слой тайлов); пустой return-стек —
фолбэк на спавн (фейд не зацикливается); кэш декода RLE (isFlower 25/тик);
камера входа в область без округления (микро-скачок).

Движок: stepTick вне ручного режима = 0 (защита от двойных шагов);
addComponent на мёртвой сущности = undefined; dispose закрывает AudioContext
и гасит все лупы (Loops.stopAll — свободные слоты playLoopBuffer раньше не
останавливались никогда); validateDialogue — kind в do[] узла и циклы
узлов-действий; DialogueRunner — реентрантность abort/start в эффектах;
dayNightFactor без NaN на вырожденных границах; remapSlots с пустой
палитрой без TypeError. Тесты 281→287, все 5 гейтов зелёные.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent ee79374 commit e7da6f7a0b17a6c543251fee14b13fe331fbaa99
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 2 days ago
Showing 16 changed files
View
v2/CLAUDE.md
View
v2/apps/game/src/audio.ts
View
v2/apps/game/src/flowers.ts
View
v2/apps/game/src/main.ts
View
v2/packages/engine/src/audio/AudioManager.ts
View
v2/packages/engine/src/audio/Loops.ts
View
v2/packages/engine/src/audio/__tests__/AudioManager.test.ts
View
v2/packages/engine/src/core/__tests__/ecs.test.ts
View
v2/packages/engine/src/core/__tests__/loop.test.ts
View
v2/packages/engine/src/core/ecs.ts
View
v2/packages/engine/src/core/loop.ts
View
v2/packages/engine/src/dialogue/__tests__/graph.test.ts
View
v2/packages/engine/src/dialogue/graph.ts
View
v2/packages/engine/src/dialogue/runner.ts
View
v2/packages/engine/src/models/paletteMap.ts
View
v2/packages/engine/src/render/daynight.ts