diff --git a/docs/demo.md b/docs/demo.md index e34f089..4b56d2b 100644 --- a/docs/demo.md +++ b/docs/demo.md @@ -22,12 +22,13 @@ | GameState (флаги/вары) | прогресс квеста, hp/kills/motes/deaths; сериализация в сейвы | готово | | SaveManager (слоты) | autosave (Esc) + 3 слота, `SaveSlotsScene` | готово | | Settings + onChange | громкости master/ambience/sfx, `SettingsScene` | готово | -| AudioManager (шины) | амбиент локаций с кроссфейдом, sfx боя/шагов/UI | готово | +| AudioManager (шины) | амбиент локаций с кроссфейдом (луга — воздушный шум 250–1800 Гц, без «прибоя»), sfx боя/шагов/UI | готово | | Tween + easing | кат-сцены, лерпы освещения; `backOut` для pop-эффектов | готово | | FxLayer + пресеты (`render/fx/`) | кольца резонанса, всплывающие тосты, растворения трупов/интерактивов, хит-флэши (герой и враги), мотыли над пеплом (`emberPreset`), частицы ударов/смертей | готово | | Particles (атмосфера + burst) | пепел лугов, туман прудов, удары/смерти сгустков | готово | | Lighting (ambient multiply + аддитивные источники) | сумерки Звенца и окна домов, тёмный интерьер с очагом, лампа героя в темноте, отсвет башни после звонка | готово | | Lighting II (импульсы, день/ночь, виньетка, тёмные пятна) | непрерывное время суток (1 с = 1 игровая минута): закат/ночь по часам, ночной ambient + светящиеся колокольчики, окна гаснут днём, вспышки ударов/резонанса/урона, виньетка при низком hp и в накате, тёмные ауры зон наката | готово | +| Lighting III («тьма с прорезями») | RT-карта силы тьмы: erase-прорези источников (пиксельный ступенчатый falloff), tone-слой отдельно от прорезей, dirty-bake по подписям источников, day fast-path; солнечный день + золотой час (`duskColor`), ночь — тьма с прорезями | готово | | Время суток (GameClock + dayNightFactor) | старт 8:00, часы в HUD нет — предмет «Медные часы» (Ирвин даёт с квестом): Enter в сумке показывает время; в сумке время заморожено | готово | | StateMachine | `EnemyBrain` — ИИ сгустков (dormant/rise/chase/…/sleep/dead) | готово | | ECS (World) | боевые сущности: враги и снаряды на `Entity` | готово | diff --git a/docs/plan.md b/docs/plan.md index 40efb14..c1e4f57 100644 --- a/docs/plan.md +++ b/docs/plan.md @@ -4,7 +4,7 @@ задачи и проработка крупных направлений. Срез-статус архитектуры — `docs/demo.md` (дорожная карта там — историческая, актуальный план здесь). -Дата ревизии: 2026-09-07. +Дата ревизии: 2026-09-08. **Статус проекта (2026-09-06): техно-демка движка.** Основные силы — движок (`packages/engine`); игра — витрина и полигон проверки API. Приоритет решений: @@ -34,6 +34,7 @@ | 13 | Зум камеры: `Camera.setZoom/zoomTo`, шаг `cameraZoom`, интеграция в игре (клики/culling/свет/мост), debug-клавиша Z, чек `zoom.mjs` | ✅ сделано (2026-09-07): 878355c, 8730614 | | 14 | Акт 2 (контент): карты Ржавая роща/Старый разъезд, Клинт + размещения NPC по флагу, квест резонатора, Старая Машина и финальная катсцена | ✅ сделано (2026-09-08): A1 fa38ee7 (карты/переходы); A2 58a8164 (Клинт, `NPC_PLACEMENTS`); A3 6068646 (квест резонатора, чек `resonator.mjs`); A4 ccc3ab3 (правильный звон, чек `final.mjs`, docs) | | 15 | Уход от кликов: фикс радиуса взаимодействия (евклидова линейка вместо проекционной), ходьба WASD/стик/джойстик, взаимодействие кнопкой действия E/A в радиусе, подпись `[E]`, удаление клик-роутинга (`InteractRouting.ts`), мост `scene:walk`/`scene:approach` + переписывание чеков и смоуков | ✅ сделано (2026-09-08): C1 fde88b6, C2 50cfc15, C3, C4; тач-кнопки действий — позже (джойстик даёт только движение) | +| 16 | Переделка по фидбеку после игры: свет заново («тьма с прорезями»), ветер лугов, квестовая ясность (HUD-трекер, тосты, направления, журнал), баги UI (флип side-анимации, подложка диалога, переносы шрифтов) | ✅ сделано (2026-09-08): L1 920d0b0 (движок: RT-карта силы тьмы, erase-прорези, dirty-bake, day fast-path), L2 93491b7 (солнечный день, `duskColor` золотого часа, тюнинг радиусов/арт), L3 64e5ce8 (ветер: воздушная полоса 250–1800 Гц вместо «прибоя»), L4 64efcf5 (`questTracker` в HUD, тост «Тон (N/3)», направления в квестах/диалогах, журнал активных задач, фикс вталкивания врагов в стены), L5 8490bf9 (флип side-анимации, панель диалога сразу полной высоты, wordWrap имён/кнопок/тостов) | Отложено: **IsoLayout как параметр игры** — `DEFAULT_ISO` в `math/iso.ts` остаётся единственной точкой входа; прокидывание конфига игры через ~15 мест движка не даёт