|
refactor(game): К3 — декомпозиция LocationScene, гигиена, валидация контента
Декомпозиция (1338 -> ~870 строк, сцена — оркестратор вьюх): - systems/LocationAudio: слои/roomtone/шорохи/музыка угрозы (порядок тиков сохранён) - systems/InteractableViews + data/assetSets: фабрики вьюх NPC/интерактивов, enemyTextures из данных (префикс кадров из EnemyKindDef.frames) - systems/Atmosphere: пепел/мотыли/дымка, накат, виньетка - systems/quest/FlowerQuest: сбор/посадка/кат-сцена сдачи - pixelTile -> чистый resolvePixelTile + pointerToWorld в ClickRouting (+ юнит-тесты) Хардкоды сюжета -> data: QUEST_PLANT_TILES/QUEST_TOWER_TILE/QUEST_TOWER_GREEN, harvestTile в AreaDef (правило «цветок только в ponds») Гигиена: HealthBar.setHp не перерисовывает при том же hp; eps-прибытие вместо float-равенства (PlayerController, FaunaSystem) со снапом; agentCommand — таблица Record вместо switch на 130 строк; удалён мёртвый код (GameLighting.addLight/removeLight, Interactables.all, SceneObjects.byKind, VolumeKey, questTaken/questDone/inventoryItems, реэкспорт MenuScene) Валидация контента (тихие ошибки): патрули (границы+проходимость), хазарды, источники света (дубли id, границы, пустые, whenFlag/notFlag), requiresItem переходов/накатов, return-правило интерьеров, аудио-ключи (ambience/theme/ слои/sfx реакций и реплик/roomtone) Проверено: check:fast (692 теста), agent:check 16/16, smoke-act1 Co-Authored-By: Claude Code <noreply@anthropic.com> |
|---|
|
|
| apps/game/src/agent/SceneAgentView.ts |
|---|
| apps/game/src/data/__tests__/quests.test.ts |
|---|
| apps/game/src/data/__tests__/validate.test.ts |
|---|
| apps/game/src/data/assetSets.ts 0 → 100644 |
|---|
| apps/game/src/data/locations.ts |
|---|
| apps/game/src/data/quests.ts |
|---|
| apps/game/src/data/validate.ts |
|---|
| apps/game/src/scenes/LocationScene.ts |
|---|
|
Too large (Show diff)
|
| apps/game/src/scenes/MenuScene.ts |
|---|
| apps/game/src/scenes/SettingsScene.ts |
|---|
| apps/game/src/systems/Atmosphere.ts 0 → 100644 |
|---|
| apps/game/src/systems/ClickRouting.ts |
|---|
| apps/game/src/systems/InteractableViews.ts 0 → 100644 |
|---|
| apps/game/src/systems/Interactables.ts |
|---|
| apps/game/src/systems/Lighting.ts |
|---|
| apps/game/src/systems/LocationAudio.ts 0 → 100644 |
|---|
| apps/game/src/systems/PlayerController.ts |
|---|
| apps/game/src/systems/SceneObjects.ts |
|---|
| apps/game/src/systems/__tests__/ClickRouting.test.ts |
|---|
| apps/game/src/systems/__tests__/lighting.test.ts |
|---|
| apps/game/src/systems/combat/HealthBar.ts |
|---|
| apps/game/src/systems/fauna/FaunaSystem.ts |
|---|
| apps/game/src/systems/quest/FlowerQuest.ts 0 → 100644 |
|---|