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:
@@ -22,6 +22,12 @@ const server = Bun.serve({
|
||||
if (url.pathname === '/' || url.pathname === '/index.html') {
|
||||
return new Response(Bun.file('./index.html'));
|
||||
}
|
||||
// Картинки отдаём прямо из src/assets/ — положил PNG → сразу подхватился (без пересборки).
|
||||
if (url.pathname.startsWith('/assets/')) {
|
||||
const asset = Bun.file('./src' + url.pathname);
|
||||
if (await asset.exists()) return new Response(asset);
|
||||
return new Response('Not found', { status: 404 });
|
||||
}
|
||||
const file = Bun.file('./dist' + url.pathname);
|
||||
if (await file.exists()) return new Response(file);
|
||||
return new Response('Not found', { status: 404 });
|
||||
|
||||
Reference in New Issue
Block a user