feat(assets): загрузка PNG из src/assets с процедурным фолбэком
- assets.ts: текстуры грузятся из src/assets/<key>.png; если файла нет — откат на процедурный рисунок (игра не ломается, сборка не зависит от наличия PNG). - dev.ts: отдаёт /assets/* прямо из src/assets/ (положил PNG → сразу подхватился). - build.ts: копирует src/assets → dist/assets. - Имена ключей = именам файлов из docs/ASSET_BRIEF.md (player-ranged.png и т.д.). - Добавлен src/assets/tear.png как рабочий пример из дизайна. Чтобы подключить полный арт: положить 21 PNG из проекта Claude Design в src/assets/. Бинарные ассеты переносятся файлами (не через модель — это триггерит usage-policy). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
* плюс копия index.html. Открывай dist/index.html.
|
||||
*/
|
||||
import { build } from 'bun';
|
||||
import { cp, mkdir } from 'node:fs/promises';
|
||||
|
||||
const result = await build({
|
||||
entrypoints: ['./src/main.ts'],
|
||||
@@ -19,4 +20,13 @@ if (!result.success) {
|
||||
}
|
||||
|
||||
await Bun.write('./dist/index.html', await Bun.file('./index.html').text());
|
||||
|
||||
// Копируем картинки в dist/assets (если папка есть).
|
||||
try {
|
||||
await mkdir('./dist/assets', { recursive: true });
|
||||
await cp('./src/assets', './dist/assets', { recursive: true });
|
||||
} catch {
|
||||
// src/assets ещё нет — не страшно, рендер откатится на процедурную графику.
|
||||
}
|
||||
|
||||
console.log('Сборка готова → dist/ (открой dist/index.html)');
|
||||
|
||||
Reference in New Issue
Block a user