Files
Binding-Fignyaac/src/render/theme.ts
T
mayatnikovandClaude Opus 4.8 3bb46e2f6b feat(render): псевдо-3D, всегда видимые двери, ассеты+эффекты, русификация
- Рендер переведён в псевдо-3D: наклонная PerspectiveCamera, пол лежит плашмя,
  персонажи/враги — вертикальные спрайты-биллборды, стены с высотой. Починен
  баг: пол создавался без поворота и стоял вертикально → «вывернутая» перспектива.
- Двери видны всегда: закрыты (засов) во время боя, открытый проём после зачистки.
- render/assets.ts: процедурные текстуры (спрайты персонажей/врагов, пол, стены,
  двери, снаряд, тень) + эффекты оружия (вспышка из дула, искры, облачко гибели).
- Светлее палитра — исправлено «тёмное на тёмном».
- Игра переименована в «Биндим Фигняшку»; полная русификация UI
  (ДАЛЬНИЙ/БЛИЖНИЙ, ИГРА ОКОНЧЕНА, ПОБЕДА); клавиши-подсказки оставлены латиницей.
- Ввод по event.code → WASD/Q/R работают в любой раскладке (вкл. русскую).
- theme.ts урезан до реально используемых тинтов (bg/swing/flash).
- docs/ASSET_BRIEF.md — бриф и промпт на полную художку; доки синхронизированы.
- Ядро (src/core) не тронуто — раунд чисто render/UI. 27 тестов + типы зелёные.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 15:16:57 +03:00

26 lines
1.3 KiB
TypeScript

/**
* theme.ts — цвета-ТИНТЫ, которыми пользуется рендер напрямую.
*
* Основной внешний вид мира (пол, стены, двери, персонажи, снаряды) теперь живёт
* в текстурах `render/assets.ts` (процедурные спрайты). Сюда вынесено лишь то, что
* рендер задаёт цветом материала, а не текстурой:
* • bg — цвет фона (clear color) сцены;
* • swing — тинт спрайта взмаха ближнего боя;
* • flash — тинт вспышек/искр (дуло, попадание).
*
* Хочешь полностью сменить стиль — меняй ассеты (см. `docs/HOWTO.md` и
* `docs/ASSET_BRIEF.md`); хочешь подкрутить фон/эффекты — здесь.
*/
export interface Theme {
bg: number; // фон сцены (0xRRGGBB)
swing: number; // тинт взмаха ближнего боя
flash: number; // тинт вспышек/искр
}
/** Тема по умолчанию — «тёмное подземелье». */
export const DEFAULT_THEME: Theme = {
bg: 0x1c1c28,
swing: 0xcc8844,
flash: 0xdddddd,
};