docs: синхронизировать описание ассетов с реальностью (PNG из src/assets + фолбэк)

Ревью отметило устаревшие тексты после перехода на загрузку PNG:
- assets.ts: заголовок описывал «процедурно, без внешних файлов» — теперь PNG из
  src/assets/<ключ>.png с процедурным фолбэком.
- HOWTO §8: убран совет «заменить тело drawX() на TextureLoader» (уже сделано);
  актуальный путь — положить PNG с нужным именем в src/assets/.
- README/ARCHITECTURE/ASSET_BRIEF: статус «подключено», корректный механизм (рантайм-
  загрузка по пути, не импорт-бандлинг).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-18 16:15:36 +03:00
co-authored by Claude Opus 4.8
parent 35cb8de33a
commit 7dabfd4fff
5 changed files with 40 additions and 33 deletions
+8 -8
View File
@@ -1,15 +1,15 @@
import * as THREE from 'three';
/**
* assets.ts — СТАНДАРТНЫЕ АССЕТЫ, нарисованные процедурно на canvas и
* превращённые в текстуры three.js. Никаких внешних файлов: спрайты «зашиты»
* в код, поэтому проект самодостаточен и легко версионируется.
* assets.ts — поставщик текстур. Каждая текстура грузится из
* `src/assets/<ключ>.png` через THREE.TextureLoader; если PNG нет — рисуется
* процедурный фолбэк на canvas (функции drawX ниже), чтобы игра работала без
* ассетов. Текстуры кэшируются и освобождаются в dispose().
*
* Как заменить на свои картинки: вместо рисования на canvas загрузи PNG через
* `new THREE.TextureLoader().load('путь.png')` и верни его из соответствующего
* геттера. Остальной рендер не изменится — он просто берёт текстуру по имени.
*
* Текстуры кэшируются (строятся один раз) и освобождаются в dispose().
* Как заменить/добавить графику: положи PNG с именем `<ключ>.png` в `src/assets/`
* (dev-сервер отдаёт их из src/assets, прод-сборка копирует в dist/assets). Код
* трогать не нужно. Функции drawX — это лишь плейсхолдер-фолбэк; правь их, только
* если хочешь другой запасной рисунок. Полный список ключей — в docs/ASSET_BRIEF.md.
*/
export type SpriteKey =